程序猿,俗称码农,是一群被官方首都认证过的新一代「民工」
在软件开发这块土地上,可爱的码农勤恳耕耘、起早贪黑、好不辛苦;
前有古人看天吃饭,尊重大自然的规律;今有几大定律,同样被码农奉为上天的「旨意」。
墨菲定律
场景:这段代码可能有问题,但是还能跑,先上线吧。结果真的出了问题。
总结:如果事情可能出错,那么它就会出错。
点评:中午一般不会出问题,大多是早晚出问题。
规划偏差
场景:月初时:这个项目本周完成,月末了:这个项目本周还未完成
总结:规划偏差,也叫 brooks Law,这名称你细品
点评:项目的延期,如果只是增加人手,那结果可能更糟糕
霍师傅定律 Hofstadter's Law
场景:低估项目完成的复杂度
总结:结合一下上面的「规划偏差」,现在是不是心里好受多了
点评:任务实际的复杂性往往超乎计划,这是客观事实,同时这个定律具有递归性。
摩尔定律
这个大家耳熟能详,单位成本的算力会在 24 个月翻一倍
28原则 或 Pareto 法则
场景:10个bug中,8个都是张三写的
总结:80% 的后果来源于 20% 的原因
九九法则 ninety-ninety Rule
90% 代码花费了 10% 的时间,剩下 10% 代码花费了 90% 时间
皮特法则 Peter Principle
场景:每个员工都是倾向于晋升到他无法胜任的职位
总结:人都是想往高处走的
沃斯定律 Wirth Law
场景:软件比硬件更容易变慢
总结:软件开发人员准备反驳,但是哑口无言
点评:软件优化听得多,硬件优化倒是不多;但是硬件一旦需要优化,那就需要脱胎换骨
过早优化法则
场景:过早优化是万恶之源
总结:放到实际业务中跑起来,找到瓶颈,再去优化
点评:质量不是设计出来的,是不断磨出来的