写代码犹如写文章

转载 2012年03月30日 15:09:21
本书中Bob大叔提倡”写代码犹如写文章“,又说道“大师级程序员把系统当故事来讲,而不是当做程序来写”,对此观点我印象深刻!在此之前我从未听说过可以把代码当成故事、文章来写,Bob大叔太有才了!
  
  如何才能写出整洁代码呢?总的原则无非是KISS(Keep It Simple Stupid):让代码简单直接,让阅读者可以很容易地看出设计者的意图。本书中给出了很多方法与规范,遵循这些规则可以帮你写出更加的整洁代码。
  
  这是一本不错的书。给本书打4星,是因为本书在讲述代码重构方面不如《重构--改善既有代码的设计》、讲述代码编写方面不如《代码大全》、讲述代码设计方面不如《敏捷软件开发》(Bob大叔自己的上一本经典著作)。另外中文版价格偏高,翻译质量也很一般。
  
  读书笔记:
  第一章 整洁代码
  1,整洁代码力求集中,每个函数、每个类和每个模块都全神贯注于一件事。
  2,整洁代码简单直接,从不隐藏设计者的意图。
  3,整洁代码应当有单元测试和验收测试。它使用有意义的命名,代码通过其字面表达含义。
  4,消除重复代码,提高代码表达力。
  5,时时保持代码整洁。
  
  第二章 有意义的命名
  1,使用体现本意的命名能让人更容易理解和修改代码。
  2,编程本来就是一种社会活动。
  3,尽力写出易于理解的代码
  
  第三章 函数
  1,一个函数应该只做一件事(高内聚),无副作用。
  2,自顶向下阅读代码,如同是在阅读报刊文章。
  3,长而具有描述性的函数名称,好过描述性的长注释。
  4,少用输出参数。
  5,拒绝boolean型标识参数。
  例: CopyUtil.copyToDB(isWorkDB) --> CopyUtil.copyToWorkDB(), CopyUtil.copyToLiveDB()
  6,使用异常代替返回错误码,错误处理代码就能从主路径代码中分离出来得到简化。
  7,写代码很像是写文章。先想怎么写就怎么写,然后再打磨:分解函数、修改名称、消除重复。
  8,编程其实是一门语言设计艺术,大师级程序员把程序系统当做故事来讲。使用准确、清晰、富有表达力的代码来帮助你讲故事。
  
  第四章 注释
  1,别给糟糕的代码加注释----重写吧。
  2,把力气花在写清楚明白的代码上,直接保证无需编写注释。
  3,好的注释:
  法律信息
  提供信息
  解释意图
  警示
  TODO注释
  
  第五章 格式
  1,代码格式很重要。代码格式关乎沟通,而沟通是专业开发者的头等大事。
  2,向报纸格式学习代码编写。
  
  第六章 对象和数据结构
  1,对象把数据隐藏于抽象之后,只提供操作数据的函数。
  数据结构暴露其数据,没有提供有意义的函数。
  2,The Law of Demeter:模块不应去了解它所操作的对象内部细节。
  
  第七章 错误处理
  1, 使用异常而非返回错误码.
  2, try-catch-finally, log出错信息.
  3, 不要返回null,不要传递null。
  NULL Object模式, 例:Collections.emptyList();
  
  第十章 类
  1,自顶向下原则:让程序读起来就像是一篇报纸文章。
  2,method可以是protected,以便于单元测试。
  3,SRP:类或模块应有且仅有一个加以修改的原因。类名应准确描述其职责。高内聚。
  4,开放闭合原则OCP、依赖倒置原则DIP
  5,变量名、方法名、类名都是给代码添加注释的一种手段。
  
  第十二章 迭代前进
  1, 紧耦合的代码难以编写单元测试。
  2,单元测试消除了对清理代码会破坏代码的恐惧。
  3,写出自己能理解的代码很容易,软件项目的主要成本在于长期维护。
  4,代码应当清晰表达其作者的意图;测试代码可以通过实例起到文档作用。
  
  第十四章 逐步改进
  1,编程是一种技艺。要编写整洁代码,必须先容忍脏代码,然后清理!
  2,写出好文章就是一个逐步改进的过程。

相关文章推荐

写代码犹如写文章

本书中Bob大叔提倡”写代码犹如写文章“,又说道“大师级程序员把系统当故事来讲,而不是当做程序来写”,对此观点我印象深刻!在此之前我从未听说过可以把代码当成故事、文章来写,Bob大叔太有才了! 如何...

写代码犹如写文章

抛开代码,读完下面的话,你就会对编程有一个新的认识 本书中Bob大叔提倡”写代码犹如写文章“,又说道“大师级程序员把系统当故事来讲,而不是当做程序来写”,对此观点我印象深刻!在此之前我从未听说过...

写文章与写程序

同样是驾驭语言,写文章和写程序有何异同?

写文章用的好助手

  • 2014-05-23 19:22
  • 32KB
  • 下载

密码文档,写日记,写文章

  • 2012-07-25 17:21
  • 856KB
  • 下载

CSDN 支持Markdown写文章了!

开源中国等其他技术博客很早就支持markdown格式写文章了,今天发现csdn竟然也可以了,不仅支持而且可以在线预览,本地导入导出,远程导入。 这些对于程序员写东西都非常好用,不用总是花时间来排版了。...

写文章与做研究的诀窍

  • 2014-09-07 21:49
  • 45KB
  • 下载

程序员也要写文章:好处不止多赚钱

在程序员这个行业,坚持做技术写作的人一直比较少。我和身边的朋友沟通后,发现他们除了借口没有时间外,大多没有意识到写作带来的收益。在他们看来,将自己学到的知识简单记录下来就足够自己需要的时候回顾了。而技...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)