《代码整洁之道》学习笔记一:什么是整洁的代码
2015-09-13 11:56
405 查看
要学习代码整洁之道,本书开篇也整理了很多非常知名且经验丰富的程序员的经验之谈。下面就简要的总结一下这些大家之谈:
Bjarne Stroustrup: C++发明者,C++ Programming Language(中文版《C++程序设计语言》)一书作者。
观点:优雅而高效的代码,代码逻辑应直截了当,叫缺陷难以隐藏;尽量减少依赖关系,使之便于维护;依据某种分层战略完善错误处理代码;性能调至最优,省的引诱别人做没规矩的优化,搞出一堆混乱来。整洁的代码只做好一件事。
Grady Booch: Object Oriented Analysis and Design With Applications (中译版《面向对象分析与设计》)一书作者
观点:整洁的代码简单直接。整洁的代码如同优美的散文。整洁的代码从不隐藏设计者的意图,充满了干净利落的抽象和直接了当的控制语句。
解析:该观点从可读性的角度来定义,代码的可读性要好。但又如散文能明确的展现出解决问题的张力。同时代码叙事不引人猜想,它只包含必需之物读者应当感受到我们的果断决绝。
Dave Thomas: OTI公司创始人,Eclipse战略父
观点:整洁的代码可由作者以外的开发者阅读和增补。它应有单元测试和验收测试。它使用有意义的命名。它只提供一种而非多种做一件事的途径。它只有尽量少的依赖关系,且要明确地定义和提供清晰、尽量少的API。代码通过字面表达含义,因为不同的语言导致并非所有必需信息均可通过代码自身清晰表达。
解析:可读性好。 便于他人增减。应有单元测试和验收测试。应使用字面编程。推崇小模块编程
Michael Feather: working Effectively with Legacy Code (中译版《修改代码的艺术》)一书作者
观点:整洁的代码总是看起来像是某位特别在意它的人写的。几乎没有修改的余地。代码作者什么都想到了,如果你企图改进它,总会回到原点。
Ron Jeffries : Extreme Programming Installed(中译版《极限编程实施》)以及Extreme Programming Adventures in C#(中译版《C#极限编程探险》)作者
观点: 能通过所有测试
没有重复代码
体现系统中的全部设计理念
包括尽量少的实体,比如类、方法、函数等。
Ward Cunningham:Wiki发明者,eXtreme Programming(《极限编程》)的创始人之一,Smalltalk语言和面向对象思想领袖。所有在意代码者的教父
观点:每个例程都让你感到深合己意,那就是整洁代码。如果代码让编程语言看起来像是专门解决那个问题而存在的,就可以称之为漂亮的代码。
以上都是本书的作者整理的大家之谈,这些观点有非常笼统却不失精确的,也有非常详解醍醐灌顶的。而作者本人的经验之谈将用这正本书的内容为我们一一解答。
AbelChan
Bjarne Stroustrup: C++发明者,C++ Programming Language(中文版《C++程序设计语言》)一书作者。
观点:优雅而高效的代码,代码逻辑应直截了当,叫缺陷难以隐藏;尽量减少依赖关系,使之便于维护;依据某种分层战略完善错误处理代码;性能调至最优,省的引诱别人做没规矩的优化,搞出一堆混乱来。整洁的代码只做好一件事。
Grady Booch: Object Oriented Analysis and Design With Applications (中译版《面向对象分析与设计》)一书作者
观点:整洁的代码简单直接。整洁的代码如同优美的散文。整洁的代码从不隐藏设计者的意图,充满了干净利落的抽象和直接了当的控制语句。
解析:该观点从可读性的角度来定义,代码的可读性要好。但又如散文能明确的展现出解决问题的张力。同时代码叙事不引人猜想,它只包含必需之物读者应当感受到我们的果断决绝。
Dave Thomas: OTI公司创始人,Eclipse战略父
观点:整洁的代码可由作者以外的开发者阅读和增补。它应有单元测试和验收测试。它使用有意义的命名。它只提供一种而非多种做一件事的途径。它只有尽量少的依赖关系,且要明确地定义和提供清晰、尽量少的API。代码通过字面表达含义,因为不同的语言导致并非所有必需信息均可通过代码自身清晰表达。
解析:可读性好。 便于他人增减。应有单元测试和验收测试。应使用字面编程。推崇小模块编程
Michael Feather: working Effectively with Legacy Code (中译版《修改代码的艺术》)一书作者
观点:整洁的代码总是看起来像是某位特别在意它的人写的。几乎没有修改的余地。代码作者什么都想到了,如果你企图改进它,总会回到原点。
Ron Jeffries : Extreme Programming Installed(中译版《极限编程实施》)以及Extreme Programming Adventures in C#(中译版《C#极限编程探险》)作者
观点: 能通过所有测试
没有重复代码
体现系统中的全部设计理念
包括尽量少的实体,比如类、方法、函数等。
Ward Cunningham:Wiki发明者,eXtreme Programming(《极限编程》)的创始人之一,Smalltalk语言和面向对象思想领袖。所有在意代码者的教父
观点:每个例程都让你感到深合己意,那就是整洁代码。如果代码让编程语言看起来像是专门解决那个问题而存在的,就可以称之为漂亮的代码。
以上都是本书的作者整理的大家之谈,这些观点有非常笼统却不失精确的,也有非常详解醍醐灌顶的。而作者本人的经验之谈将用这正本书的内容为我们一一解答。
AbelChan
相关文章推荐
- Java中Table的应用
- C++字符串的使用
- 【Ruby】Ruby和Java比较——方法访问权限
- Effective C++——条款34(第6章)
- Matlab教程2_ 绘图 _ 二维
- Myeclipse连接mysql数据库
- java模拟实现简单的读写锁
- MyEclipse 集成 Gradle开发环境
- Matlab教程2_ 绘图 _ 二维(2)
- 你问我坑你有多深,一行代码代表我的心
- Connection to MySQL Database with Java
- 测试python装饰器decorator
- Java学习记录 : 画板的实现
- 配置FTP服务(二):vsftpd部署和优化
- C/C++ 中的0长数组(柔性数组)
- python
- C++,传递多个参数
- Java 建造者模式
- Windows下Eclipse连接hadoop
- java enum(枚举)使用详解 + 总结