`
leogao_emcom
  • 浏览: 81545 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

有关分析问题的思路

阅读更多
走过7年的软件行业职业生涯,总想总结点什么,但是又不知道从何说起,只要沉思下来,发现无论是技术上的,管理上的,方法论上的,架构上的,等等这些都是人的思想指导而成的,最根本的问题是如何有一个正确的思想体系来指导实践,这是非常明显的道理吧。但是什么是正确的思想体系,我指的是一个体系,因为处理一个问题时也许不仅仅依靠于单一领域的知识和思想,更重要的是基于一种对事物本质看法为基础而衍生出来的思想体系。就拿软件而言,它不过就是人们拿来解决问题的工具,和商场橱窗里面卖的东西没有两样,但是本质上它有所不同,不是全部的不同!不同之处在于它是脑力劳动的产物,是具备可控结构的产品,说它可控,是因为我们研究自然界的时候,很多东西根本无法认知,至少现在不能,比如科学家已经知道了DNA的结构,知道它是构建生物的基础,但是却不知道为什么会带来生命,也知道生命来之于无机物,但是却没有成功制造出来过。对于软件,是我们构思于头脑中的,并且采用一定的手段实施的,全部来之于人脑的智慧,而这些智慧均来之于对现实客观事物的分析和以往知识和经验,也就是说”精神变物质“,基本点就是”实事求是“的发现事物的本质,才能得到正确的思想,而即可建立一套思想体系吧,
我对软件的本质理解只有两句话:
1)软件是给人用的工具
2)简洁压倒一切

对于做工具,要成为巨匠,我看必须经历这样的过程,第一步是学习以往的知识,然后不断的思考和反思知识本身,通过实践去验证和成为现有知识的熟练者,并且熟练运用之,第二步,在书本上根本找不到的东西-经验,来之于你的实践,面对不同的应用场景,并且利用以往的知识和自己总结出来的知识来处理问题,并能发挥想象力,对创建的东西有全局观念。第三步,实践越多问题越多,解决了这些问题,就越来越对软件的本质有了体悟,此时它更注重一种创新精神,这精神来之于逻辑思维和感性思维,并且更加脱离于技术本身,更加重视从观察世界得来灵感,更加重视感性思维,此时他已经脱离于技术的本身羁绊,开始创造新东西了。这就是我对使用工具的理解。另外对于工具必先是精熟之,而后破离之。

从历史上看,凡是那些用起来麻烦,理解起来麻烦,甚至于理论体系不完整而且混论的东西都没有太长的生命力,而有一种简单却使一种东西有着长久生命力,这种简单就是能从纷繁复杂的局面里面分析出事物的本质,并用结构简单和简洁的解决办法来直接解决之,这就如有人解一道数学题,用了很复杂的算式,但是有人就能抓住本质,用最直接的办法解决。但这不是1+1=2那么简单,而是经过深刻思想提炼的简洁,就比如E=MC2,把事物内部的复杂规律用一个简洁的道理来回答,直接到达本质,我看软件开发人员就应该具备这样的能力,抽象的能力,纵观全局的能力,抓重点和抓本质的能力,这就需要不断面对实践,不断的思考和总结,不断的挑战自己,不断的学习,敢于胜利。等到你能用技术这种工具表达你自己对世界的看法和思想时,你就已经脱离于技术的羁绊,开始徜徉于更加广阔的天地了。
4
1
分享到:
评论
7 楼 cherrycmd 2010-11-02  
作为程序员要多思考、多想、这样思维才能更加敏捷,敢于实践!
6 楼 leogao_emcom 2010-11-02  
说到点子上了!我也是这个意思
5 楼 swen00 2010-11-02  
偶的观点:
分析问题,就是对概念的划分与分层,但能否做到就是个人经验能力问题了。
对否,太简单了写。:)
4 楼 leogao_emcom 2010-11-02  
哦,呵呵。
引用
我的意思是,在设计之初,以人的正常行为去定义程序的行为。


我的理解是让对象本身只做自己应该做的事情,比如一个扳手,就是用来“扳”东西的,如果系统内所有的对象都是安分守己的,不做多余的事情,并且在思考如何设计他们的时候,只是根据他们应该有的行为来设计,包括内部的方法实现,用最简洁的方式实现,再大一些,类之间的关系,也由其他组件来管理,如IOC容器,并且所有对象不掺入自己负责以外的事情,比如日志,可以由切面来负责,系统所有的对象,组件都是安分守己的。我想你的思路很好,非常好,不过可以这样讲,基于你的思路,不仅仅是方法级别上,类级别上,组件级别上,框架级别上或者是架构级别上,甚至是设计活动,需求活动,都应该从“正常行为”出发,保证每件事物只用于它应该拥有的属性和行为,对于对立面“非正常”,可以理解为把系统纯粹理解成给计算机的,非人类行为范围之中的,或者是人类在现实世界认知不符合的,比如让一个扳手播放MP3.“过度设计”或者“设计不足”或者”坦克被造成自行车“等等,反而使事情变得越来越复杂了。
所以说我认为你的思路很好,非常好,至少在一开始就保持一个正确的方向!并且在这个方向下作正确的事情。
我很同意您的看法。
3 楼 langyu 2010-11-02  
呵呵,看来是我没有说清楚。我的意思是,在设计之初,以人的正常行为去定义程序的行为。我觉着我是个主线,不要偏离太多。因为人的正常行为受社会影响,基本是解决问题的最优解。算法、数据结构、框架等的思想都是从现实中来,再通过各种方式回到现实中去。
有些程序让我们觉着不简洁,咎其原因主要也是因为在设计时不按正常人的思维逻辑来。
这些是我现在的想法,请点评,谢谢!
2 楼 leogao_emcom 2010-11-02  
如果那个程序是人的话,也不能孤立地看待他、她。要看他、她要做的事情,也就是上下文,比如他、她想做的是洗一件衣服,那么起码他、她知道洗衣机和衣服以及其他东西的用法和知识,也就是必须有和这些东西交互的接口,比如洗衣机,这个人应该知道它有一个Power on按钮(方法)和其他的需要的接口。有了这些在某个上下文中关联的物件以及和这个人的关系后,可以考虑这个人改如何做,他、她最大期望就是One Click搞定洗衣服这件事情,那么就应该把事情搞得轻量一些,型号洗衣机只暴露一个简单接口,它可以直接激活(调用)它,只要知道一个接口就可以,可以不知道洗衣机的型号,性能,品牌,厂家,只要是和洗衣服这件事无关的事情或者接口他、她都可以不知道。综上,我觉得你提出的这个问题很新颖,但是我很赞同,因为你是从目标的能动(要求,或者需求)出发的,也就是先明确目标的“责任”,然后它如何履行“责任”,这样来思考一个对象的行为的或者属性的,但是我的建议是必须把目标放到一个上下文中分析,并且保持责任独立,和与其他物件(对象)之间的一种松耦合,可以保证目标足够简洁,也好维护和测试。
1 楼 langyu 2010-11-02  
我现在的理解是:在设计程序时想想,如果那个程序是人的话,他该怎么做。您对这种认识有什么见解,谢谢

相关推荐

    2023年五一赛B题-快递需求分析问题01-代码数据在附录

    断是否平稳(上下波动幅度不大),同时对时间序列进行偏(自相关分析),根据截尾情 况估算其 p、q 值。查看模型检验表,根据 Q 统计量的 P 值(P>0.05)对模型白噪声进 行检验,通过模型残差 ACF/PACF 图进行分析根据模型...

    有关涉法涉诉信访问题原因分析及化解思路

    有关涉法涉诉信访问题原因分析及化解思路

    让Oracle跑得更快 Oracle 10g性能分析与优化思路.part2.rar

    第1章 引起数据库性能问题的因素 1 1.1 软件设计对数据库的影响 1 1.1.1 软件架构设计对数据库性能的影响 1 1.1.2 软件代码的编写对数据库性能的影响 2 1.2 数据库的设计 8 1.2.1 oltp数据库 9 1.2.2 olap数据库 10 ...

    数据分析思路.pdf

    数据分析思路 数据分析是在当今每个企业都所需要涉及的⼀门学科,数据分析的书随便⼀搜就会有太多教⼤家如何的去使⽤。⼤致能把搜到的书分为两 类:第⼀类讲数据理论统计学相关的,第⼆类就是数据分析⼯具应⽤类型的...

    《 工程伦理 》课程 案例分析报告撰写要求.md

    案例分析中心思想要求以环境伦理视角分析案例中问题产生原因和解决问题的方法及经验。案例主体的基本结构及相关要求: 案例主体一般应包括:案例标题名称、摘要及关键词、引言、案例背景、案例正文、工程伦理技术...

    让Oracle跑得更快 Oracle 10g性能分析与优化思路.part1.rar

    第1章 引起数据库性能问题的因素 1 1.1 软件设计对数据库的影响 1 1.1.1 软件架构设计对数据库性能的影响 1 1.1.2 软件代码的编写对数据库性能的影响 2 1.2 数据库的设计 8 1.2.1 oltp数据库 9 1.2.2 olap数据库 10 ...

    新三板挂牌公司股权转让问题的案例分析及解决思路.docx

    新三板挂牌公司股权转让问题的案例分析及解决思路 公司在成长的过程中,股权转让与增资是公司逐步逐步壮大的必经之路。很多的创业者在公司的发展过程中,对于公司的股权转让及增资操作比较随意,没有专业人士的参与...

    需求分析实验报告 东北大学版

    锻炼独立应用面向对象技术解决实验过程中遇到的各种实际问题,培养分析问题、解决问题、灵活运用所学知识的能力。 试验要求掌握UML类图的相关知识(如聚合,继承等的表示)和将类图装换成代码的能力,试验2要求掌握...

    常用数据分析方法论.docx

    此处仅为方法是用实力,并不代表互联网行业分析只需要作这几方面的分析,还可根据实际情况进一步调整和细化相关分析指标: 常用数据分析方法论全文共7页,当前为第2页。 5W2H分析法 5W2H分析理论的用途广泛,可用于...

    基于MATHCAD的地理数据分析

    面向地理问题,基于Mathcad软件,讲述了大量数学方法的应用思路和过程。教学内容涉及回归分析、主成分分析、聚类分析、时(空)问序列分析、Markov链、R/S分析、线性规划、层次分析法、灰色系统GM(1,N)建模和预测方法...

    公文筐测试的10条答题方法及思路.docx

    公文筐测试的10条答题方法及思路 ...* 答题思路:首先,需要了解分厂负责人了解所需人员配置情况,然后与外方专家座谈,最后对相关岗位作出岗位分析和胜任能力评估。 * 知识点:岗位设置、人员配置、岗位分析。

    露天采矿设备配件国产化的思路与效益分析

    在分析国内露天煤矿进口设备国产化配件的优势及存在的问题的基础上,利用工程自然辨证法的相关理论知识,分析配件国产化的必要性和可行性,提出符合自然辩证法事物发展规律的国产化新思路,可以在当前以及以后露天开采...

    数据分析方法培训.pptx

    分析问题和解决问题的思路 5 > 定义问题 第一步 首先,要搞清 问题的实质, 准确、完整、 真实地表达问 题。 其次,弄清楚 为什么要解决 这个问题? 最后,解决这 个问题的意义 何在?是必须 解决还是无关 紧要,...

    供应链商品销售数据分析.zip

    通过对部门的运营情况、财务状况、物流管理等不同维度的分析,评估该部门健康状况和发展趋势,指导平台发现问题并进行优化。帮助客户更好的经营店铺,将收益在理想环境下提升到最大值。 2、学习目标 (1)学习如何...

    <>书后光盘

    本书面向地理问题,基于excel软件,叙述大量数学方法的应用思路和过程。内容涉及回归分析、主成分分析、聚类分析、判别分析、时(空)问序列分析、markov链、r/s分析、线性规划、层次分析、灰色系统(3m(1,n)建模和...

    南大《时间序列分析 (Time Series Analysis)》课程.rar

    同时强调使用人工智能技术对时序数据这一种特殊的数据类型进行分析,也关注使用“时间序列分析”中的思路看待和解决人工智能领域的实际问题。 课程内容将从时间序列的发展历程、平稳性、经典分析模型等概念先后推进...

    大型超市“购物篮”分析问题

    关于对大型超市“购物篮”的分析问题,并根据分析的结果来设计出实际的实施方案以达到最大限度的赢利。由于本题中假设了题目中的数据真实有效,而且各个问题的解决都是以他们为准,所以对数据的处理方法很重要。 本...

    数据分析的流程是什么?如何做数据分析?.docx

    数据收集 数据收集按照确定的数据分析思路和框架内容,有目的地收集、整合相关数据的一个过程,它数据分析的基础。 3.数据处理 数据处理指对收集到的数据进行清洗、、整理,以便展数据分析,它数据分析前必不可少的...

    永x超市生鲜物流配送问题及对策分析.doc

    李一凌[3]在《国内超市生鲜食品供应链存在问题及对策》中提出了超市生鲜经营作为超市业态的核心业务已经是不争的现实,其发展也与上述超市业态现状气息相关,如果超市业态边缘不清,生鲜经营在各种超市业态中的定位...

    2021五一数模A题思路+参考资料+a题代码疫苗生产优化问题

    2021五一数模A题思路+参考资料+a题代码疫苗生产优化问题 问题 1:本题需要对于每箱疫苗在所有工位上的生产时间进行描述性统计分析,由于先前对于 不同类型的疫苗进行模拟实验,根据已经掌握的实验数据直接进行描述...

Global site tag (gtag.js) - Google Analytics