易读程序之美学(一)~(五).pptx

  1. 1、本文档共137页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
易读程序之美学(一)~(五)

易读程序之美学(一)~(五)第一章 程序代码应该易于理解重要概念程序代码应该易于理解「易于」的意义?Node* node = list-head;if (node == NULL) return;while (node-next != NULL) { Print(node-data); node = node-next;}改良版for (Node * node = list-head; node != NULL; node = node-next) Print(node-data);另一个例子return exponenet = 0? mantissa * ( 1 exponent) : mantissa / (1 -exponent);有比较好吗?if (exponet = 0) { return mantissa * ( 1 exponent);} else { return mantissa / (1 -exponent);}结论第一种写法比较简洁。第二种写法比较容易了解。可读性基本定理撰写程序时应该将读者理解所需的时间降到最短。比较短的程序都比较好吗?assert((!(bucket = FindBucket(key))) || !bucket-IsOccupied());这样写是不是容易理解bucket = FindBucket(key);if (bucket != NULL) assert(!bucket-IsOccupied());增加批注也不错// hash = (65599 * hash) + c 快速版hash = (hash 6) + (hash 16) - hash + c;最短理解时间是否与其他目标冲突?程序效率良好的架构可测试性困难所在需要额外的功夫需要将大脑切换到撰写时没有用到的部分如果以此为目标:更好的程序设计师较少的bug对成品更有认同感别人乐于使用我们就开始吧!第一部份 表层改善第二章 富含信息的名称重要概念让名称包含信息(名称可视为简短的批注)本章主题选择词汇避免通用性的名称(或知道何时该使用通用名称)优先使用具体名称而非抽象名称利用前缀或字尾加入额外信息决定名称该有的长度利用格式加入更多的信息选择词汇范例一 def GetPage(url): ...选择词汇这样会不会比较好? def FetchPage(url): ... def DownloadPage(url): ...选择词汇范例二:Binary Treeclass BinaryTree { int Size(); ...}选择词汇这样会不会比较好? Size() ?Height() ?NumNodes() ?MemoryBytes()选择词汇范例三:Thread 类别class Thread { int Stop(); ...}选择词汇这样会不会比较好? Size() ?Kill()『Thread无法复原』 ?Pause()『 Thread可复原』 (与Resume()搭配) 请用「鲜明」的字汇字汇可替代的字汇senddeliver, dispatch, announce, distribute, routefindsearch, extract, locate, recoverstartlaunch, create, begin, openmakecreate, setup , build, generate, compose, add, new不要走火入魔在PHP语言中,explode()与split()有何不同?PHP:Explode用法此Function 是用来处理字符串分割的用法如下$output_string = explode( , $input_string);//explode 会跟据 内的字符对字符串进行分割的动作并把结果输出到output_string 这个变数中(Array)要取得结果就用 $output_string[0] 就可以捉到第一个分割的 结果.PHP:split用法此Function 是用来处理字符串分割的用法如下$output_string = split(“[/.-], $input_string);//split 会跟据 内的regex对字符串进行分割的动作并把结果输出到output_string 这个变数中(Array)要取得结果就用 $output_string[0] 就可以捉到第一个分割的 结果.避免通用性的名称-tmpretvaltemp, tmp, foo, a, b,…?懒惰的行为范例一://计算几何平均数var euclidean_norm = function (v) { var retval = 0.0; for ( var i = 0

文档评论(0)

mv2323 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档