编写可读代码的艺术.doc

编写可读代码的艺术.doc

ID:51713593

大小:45.50 KB

页数:7页

时间:2020-03-15

编写可读代码的艺术.doc_第1页
编写可读代码的艺术.doc_第2页
编写可读代码的艺术.doc_第3页
编写可读代码的艺术.doc_第4页
编写可读代码的艺术.doc_第5页
资源描述:

《编写可读代码的艺术.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、引言细节决定成败,思路清晰、言简意赅的代码让程序员一目了然;而格式凌乱、拖沓冗长的代码让程序员一头雾水。除了可以正确运行以外,优秀的代码必须具备良好的可读性,编写的代码要使其他人能在最短的时间内理解才行。本书旨在强调代码对人的友好性和可读性。  本书关注编码的细节,总结了很多提高代码可读性的小技巧,看似都微不足道,但是对于整个软件系统的开发而言,它们与宏观的架构决策、设计思想、指导原则同样重要。编码不仅仅只是一种技术,也是一门艺术,编写可读性高的代码尤其如此。如果你要成为一位优秀的程序员,要想开发出高质量的软件系统,必须从细处着手,做到内外兼修,本书将为

2、你提供有效的指导。主要内容:简化命名、注释和格式的方法,使每行代码都言简意赅。梳理程序中的循环、逻辑和变量来减小复杂度并理清思路。在函数级别解决问题,例如重新组织代码块,使其一次只做一件事。编写有效的测试代码,使其全面而简洁,同时可读性更高。第一章代码应当易于理解关键思想:代码应当易于理解。例如://代码1For(Node*node=list->head;node!=null;node=node->next)Print(node->data);//代码二Node*node=list->head;If(node==null)return;While(nod

3、e->next!=null){Print(node->data);Node=node->next;}If(node!=null)print(node->data);总结:尽管上面两段代码行为完全一样,但代码1的更容易理解。可读性基本定理:代码的写法应当使别人理解它所需的时间最小化。注意:代码不仅仅是给现在的你看的,也是给一星期后或是一个月以后的你看的。第二章把信息装到名字里关键思想:把信息装到名字中。1.选择专业的词把信息装到名字中包括要选择非常专业的词,并且避免使用“空洞”的词。例如,“get”这个词就非常不专业。比如:getPage()如果表示从互联

4、网上得到一个页面可以用fetchPage()或downloadPage()替换。下面是一个BinaryTree类的例子:       classBinaryTree{            intSize();};     你会觉得Size()返回什么呢?树的高度,节点数,还是树在内存中所占的空间?问题是Size()没有承载更多的信息,可以由Height()、NumNodes()或者MemoryBytes()代替。    另外一个例子,假设你有某个Thread类:        classThread{             voidStop();  

5、      };     Stop()这个名字还可以,但还可以有更多专业的名字,例如如果不能恢复了,用Skill()会更准确些,或者Pause(),如果有其他方法让它Resume()下面这些单词更具有表现力。单词更多选择SendDeliverdispatchannouncedistributerouteFindSearchextractlocaterecoverStartLaunchcreatebeginopenMakeCreatesetupbuildgeneratecomposeaddnew2.避免范范的名词避免使用像tmpretvalfoo这样范范的

6、名字(注:tmp这个名字只适用于短期存在且临时行为其主要存在因素的变量)例如:交换两个变量If(right

7、最好把名字带上它的单位。例如:用来度量一个网页的加载时间变量名可以这样写:Varstart_ms;(加上时间单位毫秒)。这要比start要包含更多的信息。尽量不使用首字母缩写的命名方式。因为这种命名会让人费解。经验原则:团队的新成员是否能理解这个名字的含义?2.利用名字的格式来表达含义通过使用下划线、连字符和大小写的方式可以把更多地信息装到名字中。例如:LogReaderOpenFilelower_separated等变量。总结:是否要采用以上这些规范是由你和你的团队决定的。但不论你用哪个系统,在你的项目中要保持一致。第三章不会误解的名字关键思想:要多问

8、几遍自己这个名字会被别人理解成其他含义吗?例子:假设你在写一段操作数据库结果的代

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。