熵是一个物理学术语,他定义了一个系统的“无序”总量。
破窗理论,一扇破的窗户,只要有一段时间不去修理,建筑中的居民就会迁移默化地产生一种被遗弃的感觉—当权者不关心这幢建筑的感觉。
不要搁置“破窗”(糟糕的设计、错误的决定、低劣的代码)不去修理。每发现一个就赶紧修一个。
永远留意大局,持续不断地审视你身边发生的事情,而不要只专注于你个人在做的事情。
够好即可的软件,训练自己写出够好即可的软件—对用户、未来的维护者来说够好即可,只要好的程度让你自己内心平静就可以。
创业不要一味地追求完美,能带着bug尽快试错,才有可能让你的用户提出更好的建议。
投资自己和理财的方法论有相似之处:
- 正规投资者有定期投资的习惯
- 多样化是长线成功的关键。
- 聪明的投资者会平衡保守型和风险型高回报的投资组合。
- 投资者用低买高卖来获得最大的回报。
- 应定期审查和重新平衡投资组合。
管理这类投资是一项技能,就像其他技能一样—可以学会,诀窍是让自己一开始就这样,并养成习惯。
习惯需要逐渐培养,不能贪多,也不能三分钟热度,制定一个计划按时完成它,可以是很简单的事情,不要忽视习惯的力量。
计算机是由人来使用的,你做的事情是为了满足人的需要,这非常重要。和你一起工作的是人、雇佣你的也是人、黑你的也是人。不要忘记方程式中人的那一面,他需要完全不同的技能集(我们称这些为软技能,听起来很容易,但实际很硬核,难以掌握)
这可能是我的致命弱点。
碰到解决不了的问题,要坦率的承认,但不要让问题沉寂,要寻求解决问题的途径。
批判性思维,要批判性的思考读到的听到的东西。你需要确保组合中的知识是精准的,未受供应商或媒体炒作的影响。当心坚持教条的狂热者,他们将其视为唯一答案—而那些教条未必适合你和你的项目。
要质疑,不能完全听信权威,要有自己独立的思考和判断。
交流
缺乏有效的沟通,好点子就成了一个孤儿。
沟通或者回避沟通是我最大的问题,要试着和别人交流想法,不能因为内心的鄙视拒绝和人沟通,要宽容。
- 明白自己在说什么
- 了解听众
- 选择时机
- 挑选风格
- 让他看起来不错
- 让听众参与
- 做倾听者
- 回应别人
这很重要,有必要先列一个大纲,问一下自己想说清楚什么。。
- 点击发送按钮前先校对一遍。
- 检查一遍拼写检查,找到有可能是自动纠错没做对的地方。
- 用简单的格式。
- 尽可能少应用原文。
- 不要在网上侮辱别人,不要做喷子,除非你喜欢被喷,喜欢受虐。
任何时候和其他人交流,要站在对方的角度上观察。如果你收到一封语无伦次的邮件,你愿意读下去吗?如果别人不尊重你,你会真诚的和他交流吗?如果别人在浪费你的时间,你愿意回答他的问题吗?
ETC 原则,Easier To Change,更容易改变。设计原则全部符合 ETC。
为什么解耦很好?因为通过隔离关注焦点,可让每一部分都容易变更。
为什么单一职责原则很有用?因为一个需求变化仅体现为某个单一模块上的一个对应变化。
为什么命名很重要?因为好的命名可以使代码更容易阅读,而你需要通过阅读来变更代码。
DRY 原则,在一个系统中,每一处知识都必须单一、明确、权威地表达。
在现在的项目中,有许多重复的接口,导致想要做统一处理需要同时修改多个地方,很容易改漏。无形中增加了很多开发成本和出错的概率。
正交性是从几何学中借用来的术语。若两条直线相交后构成直角,他们就是正交的。在计算科学中,这个术语象征着独立性或解耦性。正交的好处,提高生产力及降低风险。
我们希望设计的组件自成一体:独立自主,有单一的清晰定义的意图。(又称为内聚)
养成不断质疑代码的习惯。只要有机会就重新组织、改善其结构和正交性。
工欲善其事,必先利其器。