-
"相对于#define语句来说,它的优势在于常量值可以自动生成。尽管可以声明enum类型的变量,但编译器不检查这种类型的变量中存储的值是否为该枚举的有效值。不过,枚举变量提供这种检查,因此枚举比#define更具优势。此外,调试程序可以以符号形式打印出枚举变量的值";
-
要把低级的知识放在代码中,把注释留给高级的知识。
-
衡量代码质量的唯一有效标准:WTF/min
-
要把低级的知识放在代码中,把注释留给高级的知识。
-
'r'的一种变体是‘rU’,意味着将以支持“通用换行符”的文本模式读取文件:‘rU’模式可以用一种独立与该文件所用的断定约定的方式来读取文件,可以是UNIX方式,也可以是Windows方式,甚至是老的Mac方式。
-
可以使用volatile关键字来试图阻止过度优化,volatile基本可以做到两件事情: 1、阻止编译器为了提高速度将一个变量缓存到寄存器内而不写回。 2、阻止编译器调整操作volatile变量的指令顺序。
-
发现错误要尽可能接近引入错误的时间,缺陷在软件食物链里面呆的时间越长,它对食物链的后级造成的损害就越严重 “问题定义”只定义了“问题是什么”,而不涉及任何可能的解决方案,应在需求分析之前,而需求分析是对所定义问题的深入调查,应该用客户语言来写,从客户角度来描述问题
-
(GNU stands for "GNU's Not Unix")
-
C99 以前的 C 要求在一个代码块的开始处声明变量 当然,像 C99 现在所允许的那样把变量声明分散放置也有好处,那就是在准备为变量赋值之前声明变量
-
line_chart.x_labels = x_unique
-
虽然代换模型看起来似乎非常简单,但令人吃惊的是,给出代换过程的严格数学定义却异常复杂.问题在于,用作过程中形式参数的名字,可能会与该过程可能应用的那些表达式中的(同样)名字相互混淆.在逻辑和程序设计的语义学文献里,关于代换的充满错误的定义有一个很长的历史.
-
to make the software easier to understand and modify.
-
发现错误要尽可能接近引入错误的时间,缺陷在软件食物链里面呆的时间越长,它对食物链的后级造成的损害就越严重 “问题定义”只定义了“问题是什么”,而不涉及任何可能的解决方案,应在需求分析之前,而需求分析是对所定义问题的深入调查,应该用客户语言来写,从客户角度来描述问题
-
生命在海浪无边之处 孕育自珍珠般的洞窟,最初微小得显微镜也看它不见, 却登上了滩凃,穿破了水面,人类兀自为语言、理性与沉思而自矜, 睥睨地上的苔菌, 自以为是上主的化身, 却同样来自形与实的基本, 那胚胎的起点,微生物们!
-
What’s the one factor that explains and embraces all? That’s the narrative.









