【笔记】 程序员修炼之道 从小工到专家

1 关心你的技艺 2 思考你的工作 3 在所有的弱点中,最大的弱点就是害怕暴露弱点 4 提供各种选择,不要找各种蹩脚的借口 5 不要容忍破窗户 6 作变化的催化剂 7 记住大方向 8 让质量成为需求问题 9 知识也会贬值,定期为你的知识投资 每年至少学习一种编程语言 每季度至少读一本技术书籍 也要阅读非技术书籍 上课 上网 玩玩UNIX 跟上潮流 10 批判的分析你读到的和听到的 11 我相信,被打量要被忽略要好 12 你说什么和你怎样说同样重要 13 不要重复你自己, 也不要重复别人 14 糟糕的代码才需要许多注释 15 让复用变得容易 16 消除无关事物之间的影响 (解耦性,正交性) 17 编码 让你的代码保持解耦 避免使用全局数据 避免编写相似的函数 18 如果某个想法是你唯一的想法,再没有什么比这更危险的事情了 19 不存在最终决定 20 稍后就是永不 21 用曳光弹找到目标 22 语言的界限就是一个人世界的界限 23 靠近问题编程 24 估算,避免发生意外 25 用纯文本保存知识 26 利用命令shells的力量 27 用好一种编辑器,彻底了解它,确保你的编辑器能在所有平台上使用 (我现在最爱是vscode, 曾经最爱是sublime) 可配置 可扩展 可编辑 语法高亮 自动完成 自动缩进 跨平台 启动快 占用内存小 漂亮 28 总是使用源码控制 29 要修正问题,而不是发出职责 (关于调试,bug) 30 不要恐慌 (我曾经差点因为上线的之前的重大问题产生辞职的想法) 31 不要假定,要证明 32 你不可能写出完美的软件 33 如果它不可能发生,用断言确保它不会发生 34 将异常用于异常的问题 35 要有始有终 36 使模块之间的耦合减至最小 37 要配置,不要集成 (可配置) 38 将抽象放进代码,将细节放进元数据 39 分析工作流,以改善并发性 40 用服务进行设计 41 总是为并发进行设计 42 将视图与模型分离 43 小心那些替你编写大量代码的工具,除非你了解它在做什么 44 不要靠巧合编程 45 估算你算法的阶 46 早重构,常重构 47 为测试而设计 48 不要搜集需求,挖掘他们 49 与用户一起工作,以像用户一样思考 50 需求不是架构,需求不是设计,也不是用户界面,而是需求。 51 抽象比细节活的更长久 52 使用项目词汇表 (名不正则言不顺) 53 昂贵的工具不一定能制作出更好的设计 54 早测试,常测试,自动测试 55 要到通过全部测试,编码才算完成 56 把网收紧,一个bug只抓一次 57 温和的超出用户的期望 58 在你的作品上签名 59 建立自己的藏书库

2018-02-08 · 1 min · 王端端