程序员修炼之道:从小工到专家的第二章讲了注重实效的途径,第一节讲了重复的危害,作为程序员,我们收集、组织、维护、利用知识,但是知识并不是稳定的,所有的不稳定都意味着我们要花很长的时间在维护、组织和表达我们系统中的知识,,但我们在开发的规范、过程和程序中很容易重复表述知识,而当我们这样做的时候我们就向维护的噩梦发出了邀请,避免噩梦的方法是DRY原则:系统中的每一项知识都必须具有单一、无歧义、权威的表示。重复有以下几种形式:强加的重复、大意的重复、无耐的重复、开发者之间的重复。作者详细讲解了这几种重复并提出我们如何可以避免这些重复。
第二节为正交性,在计算技术中,正交性表示某种不相依赖性或是解耦性,如果两个或更多事物中的一个发生变化,不会影响其他事物,这些事物就是正交的,一个良好的系统应该是正交的,正交有很多的好处:提高生产效率、降低风险,项目团队配合更加有效率,每个人都知道自己要做什么,正交设计灵活性高,降低模块间依赖关系失控的风险,引入第三方工具箱和库的时候,保持系统的正交性,不会使代码进行不必要的改动、可以使代码保持解耦,避免使用全局数据,避免写相似的函数、正交地设计和实现的系统更易于测试。
第三节讲了可撤销性,在做项目的时候其关键决策是不容易撤消的。错误在于假定决策是浇铸在石头上的——同时还没有为可能出现的意外时间做准备,因此我们要把决策视为写在沙滩上的,而不要把他们刻在石头上。大浪随时可能到来,把他们抹去。这告诉我们不存在最终决策,将决策写在沙滩上可以保持灵活的架构,考虑维持架构、部署及供应商集成等领域的灵活性。
第四节讲曳光弹,将曳光弹和常规弹药交错着装在弹药带上。发射时,曳光弹中的磷点燃,在枪与它们击中的地方之间留下一条烟花般的踪迹,如果曳光弹击中目标,那么常规子弹也会击中目标。为在代码中获得同样的效果,我们要找到某种东西让我们能快速、直观和可重复地从需求出发、满足最终系统的某个方面的要求即找到在黑暗中发光的代码。曳光代码有很多优点:用户能够及时看到能工作的东西,开发者构架了一个他们能在其中工作的结构,随着系统端到端地连接起来,我们会拥有一个集成平台,又可用于演示的东西,更能够感觉到工作进展。
第五节讲原型与便笺,作者告诉我们应制作原型的事物,怎样使用原型,如何架构原型,怎样“不”使用原型。第六节为领域语言,第七节为估算,估算可以避免发生意外,所有的估算都以问题的模型为基础。任何估算练习的第一步都是对提出内容的理解,根据对所提问题的理解、建立粗略、就绪的思维模型骨架,拥有模型后,我们就可以把它分解为组件,然后给每个参数指定值,最后计算答案,追踪自己的估算能力,估算项目进度。
标签:估算,重复,小工,正交,程序员,修炼,原型,我们 From: https://www.cnblogs.com/cinan/p/16849451.html