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

企业动态
关于开发人员必须要知道的定义、原则以及理论,一位名叫Dave Kerr的小哥哥在Github上专门开了个科普帖子,为广大程序员介绍必备的定理。下面文摘菌为大家编译几条。

[[265349]]

大数据文摘出品

编译:蒋宝尚、曹培信

摩尔定律知道么?

帕金森定律讲的又是啥?

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

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

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

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

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

阿姆达尔定律

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

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

阿姆达尔定律

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

炒作周期和阿马拉定律

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

—— Roy Amara

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

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

霍夫施塔特定律

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

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

帕金森定律

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

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

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

The Unix Philosophy

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

具体内容,请大家移步GitHub:https://github.com/dwmkerr/hacker-laws

【本文是51CTO专栏机构大数据文摘的原创文章,微信公众号“大数据文摘( id: BigDataDigest)”】

     大数据文摘二维码

戳这里,看该作者更多好文

责任编辑:赵宁宁 来源: 51CTO专栏
相关推荐

2021-04-26 14:44:44

程序员技能开发者

2014-09-01 14:31:11

2021-11-26 05:57:12

开源备份Restic

2015-03-24 13:31:06

2020-06-16 11:09:13

程序员技能开发者

2022-03-09 09:56:27

插件开发效率

2019-04-28 09:56:15

程序员互联网脱发

2019-11-07 15:30:00

EmacsIDE

2019-01-04 10:53:59

CPUCache缓存

2022-04-18 11:05:36

开源github代码库

2023-05-08 16:06:33

2020-12-08 10:23:42

程序员PPT开发

2009-06-29 09:54:26

程序员定理

2015-02-10 10:21:22

程序员

2016-09-08 14:40:44

2020-12-30 10:35:49

程序员技能开发者

2015-12-24 18:00:45

资深程序员

2012-06-05 00:26:58

程序员

2017-11-03 15:39:29

深度学习面试问答

2023-04-17 16:37:14

点赞
收藏

51CTO技术栈公众号