of drdr.xp Blog drdrxp @weibo.com

程序员必须知道的事情, 一般人我不告诉他

  • 软件开发里所有的东西都已经发明出来了! 人们总是在做重复的事情, 假装在发明新的东西. 如果有个东西让你觉得很酷很新, 那它肯定是从Smalltalk, HAKMEM, Ivan Sutherland, Douglas Engelbart, 早期的IBM, 或者Bell 实验室其中之一抄来的.

  • 别相信编译器, 别相信工具, 别相信文档, 别相信你自己.

  • 我们已经不需要更多的编程语言了! 但是… 你还是会立马跑去发明一个新的语言. 恩…我猜, 你那个超酷的新语言肯定还是用的IEEE-754浮点数, 和定宽整数吧.

  • 维护代码比写代码困难的多. 写很多很多新代码其实就是在犯懒.

  • 我们学习到的知识是, 内存, cpu, 带宽都是无限和免费的. 实际上不是这样的, 不是这样的, 不是这样的. 推荐读读 Knuth的 prematrue optimization 相关的文字.

  • 几个月之后你就会忘记你当时为啥写那段代码… 写的时候能写多直白就多写多直白(xp建议: 永远低估几月后自己的智力准没问题的).

  • 有时候一行sed命令就够了.

  • 如果谁跟你说他的方案绝逼是最好最快的, 小心点. 编程是个艺术不是宗教.

  • 如果你觉得有个事情你要重复做10次以上, 就立刻把它做成自动化的!(xp觉得大概3次就该考虑了…)

  • 备份是一个事情, 恢复备份是完全不同的另外一个事情!

  • 仅仅是在你自己的电脑上可以工作不代表没有bug. - Piers Sutton.

  • 想要装一个新工具的话, 等0.1版本出来再说, 让其他人当小白鼠(Let other people be guinea pigs).

  • 好的程序员写好的代码. 杰出的程序员不写代码. 大师程序员删代码.

  • 出问题时, 别管有多少领导正在朝你吼着训话, 第一件事情总应该是稳定复现bug.

  • 或早或晚, 你会遇到一个经验丰富的前辈, 偶尔他会向你传授 Laws of Programming. 让他滚一边去.

原文链接: What are some things that only someone who has been programming 20-50 years would know?

Archive