代码整洁之道 读书笔记

代码整洁之道 读书笔记
Chapter 1 整洁代码 Lebanc's Law: later equals never. Chapter 2 有意义的命名 Chapter 3 函数 每个函数一个抽象层级 Chapter 4 注释 Chapter 5 格式 Chapter 6 对象和数据结构 Chapter 7 错误处理 Chapter 8 边界 Chapter 9 单元测试 Chapter 10 类 Chapter 11 系统 Chapter 12 迭进 Chapter 13 ...

Deep Class

Deep Class

最近看了个有趣的talk:"A Philosophy of Software Design" by John Ousterhout。
如果要选一个概念,贯穿整个计算机系统,应该选哪个呢?
John Ousterhout问过Donald Knuth,Knuth给的答案是layers of abstraction。
John Ousterhout自己觉得是problem decomposition,要注意隔离复杂度。

写跨平台C语言代码的十个规则

写跨平台C语言代码的十个规则

翻译了一篇关于写跨平台C语言代码的文章,介绍了10个相关规则。Rule #1: 同时开发 – 不要先开发后移植。不要把迁移工作外包。Rule #3: 使用标准C类型,不要使用特定于平台的类型。Rule #4: 只使用内置的 #ifdef 编译标志,不要自己发明轮子。 Rule #5: 开发一个简单的可重用的跨平台的基础库,来隐藏每个平台的代码。Rule 6#: 在所有的API中都使用Unicode(特别是UTF-8)。Rule #7: 不要使用第三方应用程序框架或者运行时环境来是你的代码跨平台。Rule #8: 原生代码本来就总是可以所有平台上编译->不是某个脚本让它们从不能编译变得能够编译了。 Rule #9:所有的程序都能在所有的平台编译。Rule #10:开除那些懒惰、不称职、态度差、不遵循这些规则的程序员。