Read the latest article and comment on Notion.
破窗效应
无视一个明显损坏的东西,会强化这样一种观念:看起来没有什么是能修好的也没人在乎,一切都命中注定了。
还有一些其他因素会导致软件腐烂,我们将在别处探讨,但与其他任何因素相比,漠视会加速腐烂的过程。
你或许会觉得,没人有时间来来回回清理项目中所有的碎玻璃。如果你真这么想,劝你还是趁早多想想怎么料理这个项目的后事,或是直接离开是非之地。不要让熵赢得胜利。
执行力
请求原谅要比获得许可更容易。——Grace Hopper
投资自己
构建知识组合
- 定期投资
- 多样化
- 风险管理
- 低买高卖
- 重新评估调整
目标
- 每年学习一门新语言
- 每月读一本技术书
- 还要读非技术书
- 上课
- 加入本地的用户组和交流群
- 尝试不同的环境
- 与时俱进
复用
你要努力的方向,应该是孕育出一个更容易找到和复用已有事物的环境,而不是自己重新编写。**如果复用不容易,人们就不会这么做。**如果你未能复用,就有重复知识的风险。
多样性
如果某个想法是你唯一的想法,那就没有比它更危险的东西了。
理解需求
如果一个设计让你感觉不妥,或是一些需求让你觉得不爽,就停下来去分析这些感觉。如果你身处一个支持性环境,那就大声说出这些感觉。
需求文档不是为客户准备的
- 正如我们讨论的,客户并不确切知道自己想要什么。
- 客户之所以请程序员来,是因为程序员回对所有的细节和细微之处感兴趣,尽管客户的冬季只是解决一个高阶的、有些模糊的问题。
有些约束条件是绝对的,有些其实是一些先入为主的观念。应该尊重那些绝对的约束条件,无论这些约束条件看起来多么令人反感或愚蠢。但另一方面,正如亚历山大证实的,一些明显的约束条件并非真的约束条件——许多软件问题都很狡猾。
你必须挑战任何先入之见,并评估它们是否是真实的、硬性的约束。
问题不在于你是在框框里思考还是在框框外思考,问题在于找到框框——识别真正的约束条件。
- 为什么你在解决这个问题?
- 解决这个问题有什么收益?
- 你遇到的问题是否与边界情况有关?你能消除这些边界情况吗?
- 有没有一个更简单的相关问题,是你能解决的?
Others
自责中往往有种奢侈。我们自责时,总觉得别人无权再责备我们。——奥斯卡·王尔德《道林·格雷的画像》