25k star,程序员,那些你不经意间可能践行的定律,或者是忽略的
1 简介
当人们谈论开发时,会聊到许多定律。这个仓库收录了一些最常见的定律。或许是你遇到过的,或许是你忽略的。
❗: 这个仓库包含对一些定律、原则以及模式的解释,但不提倡其中任何一个。 它们的应用始终存在着争论,并且很大程度上取决于你正在做什么。
2 阅读
github国内用户可以访问如下地址
https://github.com/nusr/hacker-laws-zh
如果要访问原文的话,可以访问如下地址:
https://github.com/dwmkerr/hacker-laws
github如果无法访问的话,可以后台直接私信
3 其中一些定律:
- 90-9-1 法则
90-9-1 法则表明,在诸如知乎这样的互联网社区中,90% 的用户只看内容并不参与互动,9% 的用户会参与讨论,而只有 1% 的用户会创造内容。
现实世界的例子:
2014 年,对四个健康的数字社交网络进行的一项研究发现,排名前 1% 的人创造了 73% 的帖子,紧随其后的 9% 平均占 25%,其余的 90% 的人平均占 2%。
- 阿姆达尔定律
阿姆达尔定律显示了计算任务通过增加系统资源可以获得的加速潜力。该公式通常用于并行计算中。它可以预测增加处理器数量的实际收益,该收益受到程序可并行比例的限制。
举例说明:如果程序由 A、B 两个部分组成,A 部分必须由单个处理器执行,B 部分可以并行运行。那么向执行程序的系统添加多个处理器只能获得有限的好处。它可以极大地提升 B 部分的运行速度,但 A 部分的运行速度将保持不变。
- 布鲁克斯法则
软件开发后期,添加人力只会使项目开发得更慢。
这个定律表明,在许多情况下,试图通过增加人力来加速已延期项目的交付,将会使项目交付得更晚。布鲁克斯也明白,这是一种过度简化。
但一般的论据是,新资源的时间增加和通信开销,会在短期内使开发速度减慢。而且,许多任务是密不可分的,换句话说,这样可以使更多的资源之间能轻易分配,这也意味着潜在的速度增长也更低。
- 坎宁汉姆定律
在网络上想得到正确答案的最好方法不是提问题,而是发布一个错误的答案。
据史蒂芬·麦克基迪说,沃德·坎宁汉姆早在 20 世纪 80 年代早期的时候建议他,在互联网上获得正确答案的最好方法不是提问题,而是发布一个错误的答案。麦克基迪称这为坎宁汉姆定律,而坎宁汉姆不以为然,并觉得这是“错误的引用”。最初这条定律只是用于描述 Usenet 上的社交行为,但后来也渐渐用于其他的在线社区(如 Wikipedia、Reddit、Twitter、Facebook 等)。
注:如需转载,须保留文首公众号名片,其它行为一律视为非授权转载。