Github一天标星1k+,程序员需要知道的那些定理和法则

大数据文摘 2019/05/15 22:13

知识图谱,Github一天标星1k+,程序员需要知道的那些定理和法则

大数据文摘出品

编译:蒋宝尚、曹培信


摩尔定律知道么?


帕金森定律讲的又是啥?


作为一名合格的开发人员,除了本身码力超强外,或多或少要知道几条“”潜规则”,例如依赖倒置原则、鲁棒性原则......


关于开发人员必须要知道的定义、原则以及理论,一位名叫Dave Kerr的小哥哥在Github上专门开了个科普帖子,为广大程序员介绍必备的定理。


知识图谱,Github一天标星1k+,程序员需要知道的那些定理和法则

他将这个项目称为:黑客信条(hacker-laws)。


下面文摘菌为大家编译几条,具体内容,请大家移步GitHub☟

https://github.com/dwmkerr/hacker-laws


阿姆达尔定律


一个计算机科学界的经验法则,因吉恩·阿姆达尔而得名。它代表了处理器并行运算之后效率提升的能力。


并行计算中的加速比是用并行前的执行速度和并行后的执行速度之比来表示的,它表示了在并行化之后的效率提升情况。


知识图谱,Github一天标星1k+,程序员需要知道的那些定理和法则


可以看出,即使是一个50%可并行的程序,在超过10个处理单元的情况下也几乎没有什么提高,而一个95%可并行的程序,在超过1000个处理单元的情况下,仍然可以显著提高速度。


炒作周期和阿马拉定律


“人们总是高估一项科技所带来的短期效益,却又低估它的长期影响。”

—— Roy Amara


Hype Cycle(技术成熟度曲线)是制技术兴奋度度和发展成熟度的直观表现,最初由Gartner公司提出,如下图所示:


知识图谱,Github一天标星1k+,程序员需要知道的那些定理和法则


简而言之,这个周期表明,新技术及其潜在影响通常会引发一阵高度关注。技术团队经常马不停蹄进入这些技术领域,但往往无功而返。这可能是因为该技术还不够成熟,或者现实应用还没有完全实现。经过一段时间后,技术的能力提高,使用它的实际应用机会增加,团队最终可以取得成功。Roy Amara最简洁地总结了这一点——“人们总是高估一项科技所带来的短期效益,却又低估它的长期影响。”。


霍夫施塔特定律


表面上和帕金森定律截然相反的霍夫施塔特定律表明:“即使将霍夫施塔特定律考虑在内,你在一件事上花费的时间总是要比想象得要多。”


该定律与帕金森定律看起来相互矛盾,但其实两者可以并行使用。霍夫施塔特定律表明,在给一个复杂的项目制定截止期限的时候,人们很容易自信过度。


帕金森定律


帕金森定律(Parkinson's Law)是官僚主义或官僚主义现象的一种别称,被称为二十世纪西方文化三大发现之一。也可称之为“官场病”、“组织麻痹病”或者“大企业病”。


帕金森得出结论:在行政管理中,行政机构会像金字塔一样不断增多,行政人员会不断膨胀,每个人都很忙,但组织效率越来越低下。这条定律又被称为“金字塔上升”现象。


将帕金森定律与霍夫施塔特定律结合会得出一个更加悲观的结论:你的工作范围会不断扩大,结项日期遥不可及。


The Unix Philosophy


这一理念表明的是:小即是美,程序做好一件事即可;程序员尽可能早地建立原型 ;可移植性比效率更重要 。另外数据应该保存为文本文件 ,尽可能地榨取软件的全部价值 。使用shell脚本来提高效率和可移植性 、避免使用可定制性低下的用户界面,所有程序都是数据的过滤器。


具体内容,请大家移步GitHub☟

https://github.com/dwmkerr/hacker-laws



实习/全职编辑记者招聘ing

加入我们,亲身体验一家专业科技媒体采写的每个细节,在最有前景的行业,和一群遍布全球最优秀的人一起成长。坐标北京·清华东门,在大数据文摘主页对话页回复 “招聘” 了解详情。简历请直接发送至zz@bigdatadigest.cn



知识图谱,Github一天标星1k+,程序员需要知道的那些定理和法则

知识图谱,Github一天标星1k+,程序员需要知道的那些定理和法则

点「在看」的人都变好看了哦