大道至简的读后感

发布时间 2023-06-24 12:54:59作者: 艾鑫4646

首先由愚公移山引出编程的根本就是顺序、分支、循环,初步明白了工程可以由简单编程实现。再然后明白了没有不会写程序的人,高级一点的程序员就是学会了折衷。算法是对一个程序的逻辑实现的描述,结构式逻辑实现所以依附的数据实体。因此学习计算机不要上来就写,之前我就是这样不管不顾上来就开头,不知道怎么接着往下写,读到这里大概明白编程需要的是先搞清楚逻辑关系,代码只是一个体力活。刚接触语言肯定觉得语言是难的未知的东西,但是再接触第二门语言开始就能感受到其差别不大,主要是适用范围不同,要懂得用合适的语言做合适的工作任务。
懒人造就了方法,用的是李冰与愚公故事的对比,我理解的就是不用蛮力干活而是更多的思考如何少用蛮力。
我了解了单元文件和模块的概念,不能把文件全部写在一个里面。我们要懂得分类。程序=算法+结构+方法;总体结构–>面相对象,关系–>数据结构,实现–>算法。面相对象和面相过程这里没太看懂,我大概理解的是面相过程是一个不太需要方法的工作像是愚公,面相对象需要加入更多思考更像李冰的方法。
团队,组织结构,要有一个真正适合自己团队的管理制度,制度通常不能是人性化和公平性同在得,如果公司没教过而犯错是管理层的错误要人性化处理,但如果过于人性化组织成员就会不服从管理。组织角色,团队必须有明确的分工,团队内的管理员不能过于去干扰开发人员,而是观察他们,发现问题及时改正,如果掺杂其中永远只能循规蹈矩。分工,没有组织与合作群体和开发团队是的区别,明确分工才能使群体变成团队。弹性分工很有效并不容易,可能会影响管理和工程质量,明确的分工才是管理的职责,做管理不是做伯乐。
需求分析师的需求建模,业务建模,uml只能让问题变复杂。一,与其要求客户学一门语言,不如用客户能听懂的语言,客户需要的是知道你理解他的需求,就如同问道于盲就必须闭眼问。二,最简单的沟通是让每一次客户的沟通就是更深层次的交流,有助于快速的完成客户满意的方案,把更多的时间放在自我梳理和调查。不能把与客户的通话当做感情沟通,和不要让uml成为束缚工具,如果不会不能强求,而是用更有效的方式沟通。三,学会写历史和注释,一个是为了自己和现在做项目的人看,一个是为了以后接受该项目的人看。
由一个经典的例子,按模型一步步做东西出的就如同走过场,按照模型一板一眼的这样的最终目的很容易失败,我们要把实现为目的,把模型根据实际情况进行修改,甚至在实际中我们没有模型,要通过项目经理的组织,共同不断探索完成工程。

程序=算法+结构+方法+过程+工程+组织。算法和结构是本源定义;方法是编程中自然积累的;过程是角色、沟通和环节的问题。由于软件规模的不断扩大出现了工程,是由实现对象再到过程和方法的有效实现就是工具。组织是作为项目经理必要的能力,他能使员工的效率提高,员工之间的配合程度提高,是一个团队中不可缺少的角色,同样每一个成员的回顾自己的细节是必要的。boss是真正的经营者,工程中没有boss,但是boss有绝对的话语权决定工程是否进行。实现是软件开发的本质需求和基本动因,如同上帝之手。这一段是对之前几个观点的全部重
申和总结他们之间的关系。
borland,IBM还有Microsoft都有自己的工具方法和过程,他们需要尽可能发挥自己的优势,提高在市场的竞争能力,因此在实际的工作中还要关注项目成本,如果不记成本和风险这是会被市场淘汰的也不会获得经营者的支持。审视AOD和MDA/MDD。
是思考还是思想。软件工程三要素是工具,方法和过程,三者相互作用。不能以管窥豹,也就是不能关注局部的要素,要从本体上来思考问题。RUP像一个百宝箱,但是需要你挑挑拣拣有辨识和组织能力。如果一开始的目标就是错的就会产生质量和目标的矛盾引起层层纠纷,要平衡时间资源和功能三者的关系。要懂得忽略枝节,不忽略细节。灵活的学习软件工程,才能学到它的内核,而不是按照已有都规律。