`

《程序员应该知道的97件事》读书笔记

    博客分类:
  • Book
阅读更多


一本关于写代码的文集大杂烩, 涵盖编码, 结对编程, 代码质量等诸多方面, 也是在各个领域的老鸟给初哥的一些个人的经验总结。看这本书的人, 也各取所需吧, 没必要全看。

另外,译者的序写的不错^_^

============================我是读书笔记的分割线======================

每当你迫不得已欠下技术债务,就要立刻记录到任务卡上或者登记到问题跟踪系统里,以保证不被遗忘

如果在下一轮跌代里偿还了这笔债务,其代价就会减小到最小,如果总是不还,利息就会增加。

到底用户想要什么,与其整天闷头猜想,还不如花上一小时去仔细观察。

逐渐增加小改动胜过一次大改动

个人好恶和利己主义不能掺杂到开发中来。如果代码风格或结构不符合你个人喜好,你也不能把这当成代码重构的正当理由

新技术不是重构的正当理由。除非成本效益分析结果表明这种新的语言和框架能在功能性,可维护性或生产力上有显著的提升,否则最好是弃之不用。

有一项研究表明我们把太多的编程时间用在了浏览和阅读代码上——用在找到要修改的地方的时间超过了实际写代码的时间。

代码看上去应该像诗一样。

代码审查不仅仅是简单的更正代码错误,其目的应该是共享知识,建立统一的编码指导标准。

促使审核成功的最大因素可能是让这一过程充满乐趣。审查是由人来做的,如果审查会议是痛苦或者无趣,那很难激发人的积极性。

如果你需要内嵌一段代码,那就把它封装成一个函数。

函数要简短,专注于单一的功能,古老的24行依然有用。

代码的每一个单元,从一个代码块到一个库,都应该有一个窄的接口。

为了保护类的不变性,setter方法应该少用。它更倾向于允许破坏那些管理对象状态的不变量。

关于编码有一个古老的谚语说:“如果写的很艰难,那么要读懂也很艰难。”

行内注释告诉下一个开发人员如何修复或扩展这些代码。

注释应该包含了那些代码没有说清,没能说到的东西。

你需要对你的成长负责。

如果找不到学习的对象就换一个地方。

学习某样东西的一个很好的办法就是不断教授和谈论它。当人们准备来听你讲述,问你问题的时候,会极大激发你的学习积极性。

每年学习一门新的语言,至少要学习一门新技术或工具。

如果不知道它的内部实现或者看过文档,这根本看不出有什么含义,那么这个方法就是为了方便实现者设计的,而不是为了调用者。

有针对性的练习就是为了为了通过执行一项任务来提高自身的能力,关乎技巧和技术。有针对性的练习意味着需要重复。

有偿开发的首要目标是完成一个产品,而有针对性的练习的首要目标是为了提高你 水平。

把所有会为同一个原因而更改的东西汇集在一起,把所有会为不同理由而更改的东西独立开来。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics