代码大全(2版) 读书笔记

来源:互联网 发布:江南布衣 知乎 编辑:程序博客网 时间:2024/05/21 12:48

4月30号


 

  1. 隐喻的价值绝不应低估。隐喻的优点在于其可预期的效果能被所有的人理解。不必要的沟通和误解也因此大为减低,学习与教授更为快速。实际上,隐喻是对概念进行内在化(intemalizing)和抽象(abstracting)的一种途径,它让人们在更搞的层面上思考问题,从而避免低层次的错误。
  2. 从管理的角度看,做计划意味着确定项目所需要用的时间,人数以及计算机台数。从技术的角度讲,做计划意味着弄清楚你想要建造的是什么,以防止浪费钱去建造错误的东西
  3. “问题定义”值定义了“问题是什么”,而不涉及任何可能的解决方案。它是一个很简单的陈述,像“我们跟不上Gigatron的订单了”这样的句子听起来像是个问题,而且确实是一个很好的问题定义。而“我们需要优化数据自动采集系统,使之跟上Gigatron的订单”这种句子是糟糕的问题定义。它听起来不像是是问题,倒像是解决方案。所以问题定义应该用客户的语言来书写,而且应该从客户的角度来描述问题。
  4. 架构的典型组成部分:程序组织,主要的类,数据设计,业务规则,用户界面设计,资源管理,安全性,性能,可伸缩性,互用性,国际化/本地化,输入输出,错误处理,容错性,架构的可行性,过度工程,关于“买”还是“造”的决策,关于复用的决策,变更策略,架构的总体质量。
  5. 书中的三张核对表

 5月5号


 

  1.  成功编程的一个关键就在于避免随意的变化,这样你的大脑可以专注于那些真正需要的变化。
  2. 在“构建”开始之前,讲清楚你使用的编程约定。编码约定的细节要达到这样的精确度:在编写完软件之后,几乎不可能改变(翻新)软件所遵循的编码约定。
  3. 理解“在一种语言上编程”和“深入一种语言去编程”的区别,对于理解本书是至关重要的。大多数重要的编程原则并不依赖特定的语言,而依赖于你使用语言的方式。如果你使用的语言缺乏你希望用的构件,或者倾向于出现其他种类的问题,那就应该试着去弥补它。发明你自己的编码约定,标准,类库以及其他的改进措施。
  4. 在开始编程之前,要选择号编程语言,熟悉的编程语言可以提高生产率和软件质量,要知道你使用的语言的明确优点和弱点,还要做好一些约定,否则你的软件会显得混乱。要有意识的选择最适合你的项目实践方法。
原创粉丝点击