7.The Evils of Duplication ---------DRY(Don't Repeat Yourself)

复制出现的四种场合

(1)Imposed duplication. 由于不同语言,环境的需要

(2)Inadvertent Duplication

Sometimes, duplication come about as the result of mistakes in the design.

Where possible, always use accessor functions to read and write the attributes of objects(Java/C++/...)

(3)Impatient Duplication        "Short cats make for long delays"

(4)Interdeveloper Duplication

不同的开发者会在同一个project中互相复制代码(比如一个功能在不同模块各自实现)

解决办法:encourage active and frequent communication between developers.

8.Orthogonality

简单理解: 正交:即X轴向上的变化对Y轴来说是无影响的。eg.接口, 数据库与UI

Eliminate Effects Between Unrelated Things.

正交规律的运用:(1)project teams,各司其职   (2)Design, 如模块化设计,分层设计等。Don't rely on the properties of things you can't control

有几种技巧来维持代码中的“正交性”:

(1)keep your code decoupled   (2)Avoid global data   (3)Avoid similar functions.

9.Reversibility

在做决策时需要考虑全面:让设计具有可逆性。如从cs模式到单机的转变,要让其改变可以可配性

10.Tracer Bullets.

在一个项目的整个过程中,需要有tracer code 的不断发展。它帮助error check, structuring, documentation 等。

有以下的好处:(1)Users get to see something working early.用户更高兴更早看到不成熟的产品

(2)Developers build a structure to work in. 对于端到端,有内容可做

(3)You have an integration platform.更方便测试

(4)You have something to demonstrate. 有东西可展示给那些project spnsors

(5)You have a better feel for progress.

轻量级的开发,对于需求变更方便修改(灵活可变的架构)

11.Prototypes and Post-in Notes.

建立软件原型的目的:分析并暴露缺陷

原型 建立过程中我们可忽略正确性,完整性,鲁棒性,样式等

原型的建立,我们关注的领域主要有:

(1)主要的部件是否已经合适并很好的定义

(2)主要部件之间的合作功能是否很好定义

(3)耦合是否最小化了

(4)能否发现代码中会存在的潜在复制

(5)界面定义和限制是否合理

(6)每个模块在执行时,是否有一个合法的权限路径

12. Domain Languages

选择合适的语言来表达用户的需求,对于不同层次的users,需实现不同的语言,如Mini-language, Data language,imperative language

13. Estimating

学会合理地估计各种任务等量级,了解什么可以做得到什么做不了(Estimate to Avoid Surprises)

《程序员修炼之道:从小工到专家》笔记-----第二章相关推荐

  1. 读书笔记2014第4本:程序员修炼之道-从小工到专家(第一章)

    <程序员修炼之道-从小工到专家>是一本1999年写的老书,但15年之后,书中的许多道理依然没变,时不时拿出一章咀嚼一下仍有许多可回味之处. 第一章 注重实效的哲学 1.我的源码让猫给吃了 ...

  2. 程序员修炼之道-从小工到专家(第一章)读后感

    第一章 第一节 我的源码让猫吃了 读后感 这一节教会我要有责任心要负责.一.如果承诺了某件事,就要信守承诺完成它,尽管事情可能不尽人意使你不能完成它,但你起码是尽你所能去做了,而不是因为不可能完成了就 ...

  3. 读《程序员修炼之道——从小工到专家》(The Pragmatic Programmer: From Journeyman to Master)

    花了几天时间略读完了<程序员修炼之道--从小工到专家>(The Pragmatic Programmer: From Journeyman to Master).总体感觉就像是一位多年开发 ...

  4. [拇指飞动]读《程序员修炼之道:从小工到专家》

    在很多Must Read推荐书目中,<The.Pragmatic.Programmer_From.Journeyman.to.Master[1999][CHS][PDF]>(<程序员 ...

  5. 程序员修炼之道-从小工到专家读后感

    最近3周,利用早上的时间,阅读了<程序员修炼之道-从小工到专家>,这本书写得非常好,深有感触.可能由于水平有限,对于其中一些珠玑理解没有那么强的感受.这里主要讲一些我感触特别深的点. 一. ...

  6. 程序员修炼之道–从小工到专家

    <程序员修炼之道–从小工到专家> <程序员修炼之道–从小工到专家>[美]Andrew Hunt / David Thomas 著 马维达 译   图片来源-百度图片 看这本书主 ...

  7. 《程序员修炼之道–从小工到专家》读书笔记

    <程序员修炼之道–从小工到专家>的读书笔记 <程序员修炼之道–从小工到专家>[美]Andrew Hunt / David Thomas 著 马维达 译 看这本书主要使用了检视阅 ...

  8. 程序员修炼之道--从小工到专家(一)

    这个假期里看了一下这本书,乍一看名字,觉得这就是比较鸡汤类的书吧,但是在看了一部分之后,忽然感觉到,以前的自己真的是很无知,一直就没有认识到做一个真实的项目的困难性,也根本就没有真正的认识到怎么去做一 ...

  9. 读《程序员修炼之道——从小工到专家》

    注重实效的程序员,能够越出直接的问题去思考,总是设法把问题放在更大的语境中,总是设法注意更大的场景.注重实效的程序员不满足于只解决客户的问题,而且更关注如何为客户带来价值.注重实效的程序员,倾向于把需 ...

  10. 《程序员修炼之道——从小工到专家》读后感一

          "在所有弱点中,最大的弱点就是害怕暴露弱点."自己很喜欢这句话.这让我再一次的提醒自己,不要怕把自己的错误暴露给别人,不要怕把自己的无知暴露给别人.只有暴露出缺点,才能 ...

最新文章

  1. 【ZT】我家宝宝不会哭----分享在美国养孩子的妈妈经(必看)
  2. Vue之动态class写法总结
  3. 【微服务】之六:轻松搞定SpringCloud微服务-API网关zuul
  4. Topic交换器-搭建环境
  5. nginx 1.14.0 配置部署 thinkphp 5.1
  6. [转]sudoers设置
  7. GitHub 配置及简单使用
  8. 前后端分离后 前端获得session数据_机器学习模型部署--打通前后端任督二脉
  9. java日志文件log4j.properties配置详解
  10. UniCode 常用字符大全
  11. 66个求职应聘技巧性问答(三)
  12. 计算机系的的毕业感言,计算机班同学的毕业感言
  13. 解密灰鸽子木马帝国【实在是恐怖呀】
  14. 百度技术:“App 优化网络,先从 HTTPDNS 开始” | 原理到实战
  15. html网站设计项目心得,网页设计制作心得体会,网页设计实训报告步骤
  16. 我热爱计算机作文450字,我的国学机作文450字
  17. 计算机会计试题原型法的优缺点,计算机会计学综合复习资料.doc
  18. dede - 栏目中判断
  19. Windows/Linux内核地址空间管理的异同
  20. 《白鹿原》读书笔记——纪实的戏剧

热门文章

  1. CentOs 7 中vim文本编辑器的下载及使用
  2. Java 移除重复节点 | 编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。
  3. 如果实现类似微信附近的人功能
  4. 我的IT成长路——为梦想扬帆起航
  5. 如何防范恶意网站(转)
  6. 操作系统是管理计算机软件和硬件的,计算机操作系统是管理计算机硬件和软件的什么...
  7. 个人承接微信H5制作设计,需要的联系我
  8. 1006 - 打印星号三角形
  9. 有钱人的4种思维,掌握一种,就够翻身了
  10. python中标点符号大全及名字_标点符号大全及名字