<The Art of Readable Code> 笔记二 (上)】的更多相关文章

第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章  封装信息到名字 (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 代码,乍看没有任何问题,但实际上…
第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…
<The Art of Readable Code>- Dustin Boswell, Trevor Foucher    O'Reilly出版 整体认知:这本书写得很好,每一章后面的总结,很简练,很到位. 问题:什么样的代码才是可读性好的代码?- 书中给出的衡量标准是,让新手读你的代码,看从开始读到完全理解所花的时间,时间越少说明代码可读性越好.   这里的新手,也指之后需要维护你写的代码的同事,或者几个月之后重新审视代码的你自己. 什么样的命名是好的命名呢? - 名字包含所需的信息,新手看…
我最喜欢的一本书 - 教我如何写可读的代码 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,…
因为第一部分是关于初始化的部分的,我就没有发布出来~ wsgi.py----第一部分 在分析这个模块之前, 需要了解一下WSGI, 大致了解了之后再继续~ get_current_url()函数 很明显,该函数的作用是获取当前url地址. 代码如下: def get_current_url(environ, root_only=False, strip_querystring=False, host_only=False, trusted_hosts=None): """ :…
<CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX <CMake实践>笔记三:构建静态库与动态库 及 如何使用外部共享库和头文件 四.更好一点的Hello World 没有最好,只有更好 从本小节开始,后面所有的构建我们都将采用 out-of-source 外部构建,约定的构建目录是工程目录下的build自录. 本小节的任务是让前面的Hello Wor…
NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分析>第四版(华东师范大学数学系).<概率论与数理统计>(陈希孺,中科大出版).<概率论与数理统计>第二版(茆诗松.程依明等编).<组合最优化:理论与方法>(现代数学译丛23).笔记二主要记录数据获取,沪深证券市场的A股股票数据. 获取的股票数据周期包括5分钟.15分钟…
Linux内核学习笔记二——进程   一 进程与线程 进程就是处于执行期的程序,包含了独立地址空间,多个执行线程等资源. 线程是进程中活动的对象,每个线程都拥有独立的程序计数器.进程栈和一组进程寄存器. 内核调度的对象是线程而不是进程.对Linux而言,线程是特殊的进程. 二 进程描述符及任务结构 内核使用双向循环链表的任务队列来存放进程,使用结构体task_struct来描述进程所有信息. 1 进程描述符task_struct struct task_struct {}结构体相当大,大约1.7…
本文转载自:http://www.cnblogs.com/52php/p/5681751.html 四.更好一点的Hello World 没有最好,只有更好 从本小节开始,后面所有的构建我们都将采用 out-of-source 外部构建,约定的构建目录是工程目录下的build自录. 本小节的任务是让前面的Hello World更像一个工程,我们需要作的是: (1).为工程添加一个子目录src,用来放置工程源代码; (2).添加一个子目录doc,用来放置这个工程的文档hello.txt (3).在…