我最喜欢的一本书 - 教我如何写可读的代码 Two month fan of the book, from August - Oct. 2014; and then, started to practice code review, change the code to make it readable. Big fan of DRY (Do not repeat yourself) principle, do one thing a time, break giant expression,…
<The Art of Readable Code>- Dustin Boswell, Trevor Foucher    O'Reilly出版 整体认知:这本书写得很好,每一章后面的总结,很简练,很到位. 问题:什么样的代码才是可读性好的代码?- 书中给出的衡量标准是,让新手读你的代码,看从开始读到完全理解所花的时间,时间越少说明代码可读性越好.   这里的新手,也指之后需要维护你写的代码的同事,或者几个月之后重新审视代码的你自己. 什么样的命名是好的命名呢? - 名字包含所需的信息,新手看…
第1章  封装信息到名字 (Packing information into names) 4  附加额外信息 1)  encode value type 对于某些变量,附加额外的信息可以让人更好的理解,比如,一个16进制的变量,显然 hex_id 要比  id 更为贴切 string id; // Example: "af84ef845cd8" string hex_id; 2)  encode value units 下面的 JavaScript 代码,乍看没有任何问题,但实际上…
第2章  封装信息到名字 (Packing information into names) 2.1  use specific words GetPage() 不如 FetchPage() 和 DownloadPage() 更具体: BinaryTree 类中的 Size() 不如 Height().NumNodes() 或 MemoryBytes() 更明确 class BinaryTree { int Size(); ... } 同理,Thread 类中的 通常是 Kill(),而不是 St…
第1章  代码应易理解 (Code should be easy to understand) 基本原则:好的代码,能够减少 “别人” 理解它的时间. “别人” 不仅指的是 “其它人”,也可能是 “以后的自己” 1  合习惯 Node* node = list->head; if (node == NULL) return; while(node->next != NULL) { Print(node->data) node = node->next; } if(node != N…
[it-ebooks]电子书列表   [2014]: Learning Objective-C by Developing iPhone Games || Leverage Xcode and Objective-C to develop iPhone games http://it-ebooks.info/book/3544/Learning Web App Development || Build Quickly with Proven JavaScript Techniques http:…
http://agiledon.github.io/blog/2013/04/17/thoughtworks-developer-reading-radar/#rd?sukey=f64bfa68330f696aa05077dbb740f367870988360956e818b4f7074c49ab47258dc687689cc483391f771e27e2bca446 软件业的特点是变化.若要提高软件开发的技能,就必须跟上技术发展的步伐.埋首醉心于项目开发与实战,固然能够锤炼自己的开发技巧,却难…
         首先在这里讨论的是国内的大陆地区.在今天这个中国IT环境下,开发人员出路何在?一个优秀开发人,应该有致力于编写优雅代码,让别人读得懂,具有可读性,可测试性的代码,不仅仅是可以运行的代码.所以经常需要对现有的代码重构,包括自己写的代码.而现在国内的开发人员这方面的素质一直缺乏,就更难谈得上对软件开源社区的贡献了.       所以一些优秀的开发人员后面都去做架构师了,但又不是每个公司都需要架构师.又有一些由于家庭的原因,转做PM了,由于开发人员需要不断的学习,新技术的更新换代,日…
原文地址:ThoughtWorks(中国)程序员读书雷达 软件业的特点是变化.若要提高软件开发的技能,就必须跟上技术发展的步伐.埋首醉心于项目开发与实战,固然能够锤炼自己的开发技巧,却难免受限于经验与学识.世界上并不存在速成的终南捷径,但阅读好的技术书籍,尤其是阅读大师们的经典著作,总能收到事半功倍之效.一位优秀的程序员,或许就是一名好的阅读者.好的阅读者,总是知道如何选择好的书籍.书海浩繁,良莠不齐.阅读技术好书,如与智者交谈,“与君一席话胜读十年书”:遭遇技术烂书,如被拐卖,“少小离家老大回…
部分转自张逸的博客:http://agiledon.github.io/blog/2013/04/17/thoughtworks-developer-reading-radar/ 长久以来一直对程序员的发展存在疑惑,也就是通过什么方法,我们能成为一名掌握自己命运的程序员,而不是成为加班的奴隶.以前一直在抱怨程序员是码农,是码畜,是屌丝,是女汉子,虽然自嘲的意味多一些,但多少带有些无奈和落寞.就如同大话西游II里结尾那句话一样:”那人好像一条狗唉”. 张逸的博客我一直关注,不仅是因为他的技术文章,…