【读书笔记】编程匠艺 第2章
2014-05-04 23:31
183 查看
第二章 精心布局
编码的风格曾经是、现在是、将来也将继续是程序员之间信仰之争的主题之一。
编程样式极大的影响了代码的可读性,没有人愿意使用读不懂的代码。
我们的代码一般有3类读者:1. 我们自己,我们不仅需要能够读懂刚刚写下的代码,也需要在多年之后仍然能够明白它的意思;2. 编译器,关注语法,不关注样式;3. 其他人,这类人最重要,也最容易被忽视。
什么是好的样式?1. 一致;2. 传统,采取一种业内流行的样式;3. 简洁。
括号的样式风格:1. K&R风格;2. 悬挂式风格;3. 缩进式风格;4. 其他风格。
好的样式风格不止一种,各种风格的品质和适用性取决于使用的环境和文化背景。选择一种好的编码风格,并坚持使用它。
多种风格有助于我们写出更好的代码。
对于一个组织来讲,是需要一种内部的编码风格的。这样可以提高代码的质量,并使软件开发更加安全。所有人共同分享同一种风格所带来的好处,远远超出了为了同意而付出的代价,即使不赞同这个标准,你也应该遵守它。
当一个组织内么有一个明确的编码风格时,我们需要制定一份。这是一项需要谨慎考虑的任务。应该恰当而坚决的开展。
一个良好的个人风格对于整个团队的程序员不一定是最好的。你要创建的标准不应当只适合你自己的审美习惯,它应该使团队的代码合为一体,并避免常见的问题。
创建编码风格时可以采取的策略:
标准为谁而立?圈定使用范围。
赢得广泛参与。有参与才会更乐意遵守。
做出成果。最终应该有一份可以理解的文档。
使最佳做法标准化。
突出重点。
避免热点。把罕见且麻烦的情况留给个人决定,前提是不会造成太大的分歧。
逐步完善。
为推广做计划。
创建编码风格时,需要注意掌握分寸,不是规定的越细越好。
我们有理由认为:版面漂亮的代码是经过精心设计的代码,格式混乱的代码一定没有好好下功夫。
优秀的程序员:1. 避免无意义的争论,对别人的意见非常敏感;2. 谦虚克己,不认为自己永远是对的;3. 懂得版面是如何影响可读性的,并努力写出可能清晰的代码;4. 采用内部样式,即使内部样式与他们的个人偏好相矛盾。
糟糕的程序员:1. 闭目塞听,固执己见,认为”我的观点才是正确的“;2. 和每个人争论最琐屑的小事,把这些当成成证明自己优势的机会; 3. 没有始终如一的个人编码风格;4. 对别人代码的风格指手画脚。
编码的风格曾经是、现在是、将来也将继续是程序员之间信仰之争的主题之一。
编程样式极大的影响了代码的可读性,没有人愿意使用读不懂的代码。
我们的代码一般有3类读者:1. 我们自己,我们不仅需要能够读懂刚刚写下的代码,也需要在多年之后仍然能够明白它的意思;2. 编译器,关注语法,不关注样式;3. 其他人,这类人最重要,也最容易被忽视。
什么是好的样式?1. 一致;2. 传统,采取一种业内流行的样式;3. 简洁。
括号的样式风格:1. K&R风格;2. 悬挂式风格;3. 缩进式风格;4. 其他风格。
好的样式风格不止一种,各种风格的品质和适用性取决于使用的环境和文化背景。选择一种好的编码风格,并坚持使用它。
多种风格有助于我们写出更好的代码。
对于一个组织来讲,是需要一种内部的编码风格的。这样可以提高代码的质量,并使软件开发更加安全。所有人共同分享同一种风格所带来的好处,远远超出了为了同意而付出的代价,即使不赞同这个标准,你也应该遵守它。
当一个组织内么有一个明确的编码风格时,我们需要制定一份。这是一项需要谨慎考虑的任务。应该恰当而坚决的开展。
一个良好的个人风格对于整个团队的程序员不一定是最好的。你要创建的标准不应当只适合你自己的审美习惯,它应该使团队的代码合为一体,并避免常见的问题。
创建编码风格时可以采取的策略:
标准为谁而立?圈定使用范围。
赢得广泛参与。有参与才会更乐意遵守。
做出成果。最终应该有一份可以理解的文档。
使最佳做法标准化。
突出重点。
避免热点。把罕见且麻烦的情况留给个人决定,前提是不会造成太大的分歧。
逐步完善。
为推广做计划。
创建编码风格时,需要注意掌握分寸,不是规定的越细越好。
我们有理由认为:版面漂亮的代码是经过精心设计的代码,格式混乱的代码一定没有好好下功夫。
优秀的程序员:1. 避免无意义的争论,对别人的意见非常敏感;2. 谦虚克己,不认为自己永远是对的;3. 懂得版面是如何影响可读性的,并努力写出可能清晰的代码;4. 采用内部样式,即使内部样式与他们的个人偏好相矛盾。
糟糕的程序员:1. 闭目塞听,固执己见,认为”我的观点才是正确的“;2. 和每个人争论最琐屑的小事,把这些当成成证明自己优势的机会; 3. 没有始终如一的个人编码风格;4. 对别人代码的风格指手画脚。
相关文章推荐
- 《ERP从内部集成起步》读书笔记——第2章 从优化业务流程谈信息集成的必要性 2.2信息集成与实时共享2.2.3知情与知用
- 《STL源码剖析》读书笔记---第2章 空间配置器
- 读书笔记 JavaScript 高级程序设计(第三版)-- 第2章
- 《Android开发艺术探索》读书笔记 (2) 第2章 IPC机制
- 《卫生经济学》读书笔记:第2章 健康和医疗服务:经济学的展望
- 读书笔记《数据挖掘概念与技术》第2章 数据预处理 2.1 为什么要预处理数据
- 读书笔记《数据挖掘概念与技术》第2章 数据预处理 2.7 小结
- 《Python语言及其应用》读书笔记(1)之第2章Python基本元素:数字、字符串和变量(关键词:数字/字符串/变量)
- 读书笔记:数据结构与算法-Python语言描述【第2章:抽象数据类型和Python类】
- 【读书笔记】代码整洁之道 第2章有意义的命名
- 读书笔记 Pro Android 3 第2章 节选 StrictMode 严苛模式
- 《ERP从内部集成起步》读书笔记——第2章 从优化业务流程谈信息集成的必要性 2.1从流程优化的需要理解信息化与管理的关系 2.1.1全局观念和全流程
- UML用户指南第二版-读书笔记-第2章-UML介绍
- 《黑客与画家》第2章读书笔记
- 《Data-intensive Text Processing with MapReduce》读书笔记第2章:MapReduce基础(3)
- 读书笔记《数据挖掘概念与技术》第2章 数据预处理 2.2 描述性数据汇总
- 《编程匠艺》读书笔记之二
- 读书笔记:算法导论第2章 第1节 Insertion sort
- 《编程匠艺》读书笔记之二十
- 【WebGL】《WebGL编程指南》读书笔记——第2章