Github最火!程序员必须知道22大定律和法则

Posted julyedu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Github最火!程序员必须知道22大定律和法则相关的知识,希望对你有一定的参考价值。

当谈论开发问题的时候,大家总会提到各种定律。Github上,突然出现了一篇定律&法则合集项目,瞬间占据趋势榜第一名!

 

项目中包含很多定律&法则的解释,但不提倡其中任何一个。

是否应用这些定律和法则始终处于争论状态,而且很大程度上取决于个人喜好以及用在哪里。

 

15大定律:

技术图片

 

 

7大原则:

技术图片

 

 

原作者把这22条称之为“黑客信条”

不知道除了摩尔定律,你还知道几个那?

原项目链接:

https://github.com/dwmkerr/hacker-laws#hofstadters-law



01、阿姆达尔定律

 

维基百科:计算机科学界的经验法则,因吉恩·阿姆达尔而得名。它代表了处理器并行运算之后效率提升的能力。阿姆达尔定律是固定负载(计算总量不变时)时的量化标准。

 

例:如果程序由两部分组成,A部分必须由单个处理器执行,B部分可以并行化,那么执行程序的系统添加多个处理器只能获得有限的好处。

它可以极大地提高B部分的速度 - 但A部分的速度将保持不变。

如图

 技术图片

 

 

 

02、炒作周期&阿玛拉定律

 

我们往往高估计技术在短期内的影响,并低估长期效应。

Hype Cycle(技术成熟度曲线)是指技术兴奋度度和发展成熟度的直观表现。

如图

 

 技术图片

 

 

03、炒作周期&阿玛拉定律

 

该定律认为每个系统内都有一定的复杂性不可减少。

系统中的某些复杂性是“无意的”。可能是由于结构不良,错误或者只是解决问题的建模糟糕造成的。

可以减少(或消除)无意的复杂性。

然而,由于要解决的问题固有的复杂性,某些复杂性是“内在的”。

这种复杂性可以移动,但不能消除。

该定律的一个有趣的元素是即使通过简化整个系统,内在的复杂性也不会降低,它会转移给用户,用户必须以更复杂的方式行事。

 

04、摩尔定律


当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。换言之,每一美元所能买到的电脑性能,将每隔18-24个月翻一倍以上。这一定律揭示了信息技术进步的速度。

 

 

05、霍夫施塔特定律

 

开发所需时间,往往比你预期的要长。

哪怕你考虑了这条定律,所需时间依旧会超过你的预期。

 

 

06、帕金森定律

 

原本是指官僚主义,后来指开发计划中,部分人认为在开发初期效率低下,后期在截止日期接近后疯狂赶进度,从而经常不能在预计日期内完工。

如果和上一条定律结合,那就会得出一个非常悲观的理论,即哪怕拼命加班996/007.依旧很可能不能及时完工。

 

 

07、琐碎定律

 

该定律认为,在团队协作中更多争论会发生在不重要的细节中,而不是最重大的事情上。

 

在讨论非常专业而且重大的事情时,一般人由于缺乏专业知识,不敢随便发言,以免失言,贻笑大方,因此多半都会肯定(或逃避)该重大方案,而提些与主题无关的鸡毛蒜皮小事。相对的,对于简单的细节,由于平常大家都会接触到而且有相当的认识,反而意见特别多。

 

更多定律和法则可以查看原项目链接哦

原作者:Dave Kerr

项目链接:https://github.com/dwmkerr/hacker-laws#hofstadters-law

 

程序猿/媛们,在看这篇文章之前,除了摩尔定律,你还知道哪些可定律那?

以上是关于Github最火!程序员必须知道22大定律和法则的主要内容,如果未能解决你的问题,请参考以下文章

GitHub最热!码代码不得不知的所有定律法则

GitHub火热!程序员小哥不得不知的所有定律法则(附项目链接)

GitHub金牌程序员必读职场15大定律和7大原则

这就是java程序员想要的几大成长法则!难道你不想知道?

每个程序员都应该知道的5个定律

八个不得不知的重要法则 让你更懂互联网