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

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

原文地址:https://www.cnblogs.com/julyedu/p/11448127.html

时间: 2024-11-08 02:13:44

Github最火!程序员必须知道22大定律和法则的相关文章

【同行说技术】iOS程序员从小白到大神必读资料汇总

在文章<iOS程序员从小白到大神必读资料汇总(一)>里面介绍了很多iOS入门学习的资料,今天小编就发几篇技术进阶的文章,快来看看吧! 一.iOS后台模式开发指南 这个教程会教你在什么时候怎么去用最常用的一些后台操作 二.iOS核心高级动画技巧 这是一篇在github上很受欢迎的对iOS开发高级动画技巧的翻译文,非常值得学习 三.iOS开发总结之代码规范 这篇文章整理了比较好的代码规范,对程序员的代码风格的塑造很有帮助! 四.Top 100 的 iOS app 都用到了哪些库 文章作者分析了美国

给程序员的新年9大计划

制定新年计划一定要成为你喜欢做的事情之一,总结上一年的收获,制定新一年的规划.也许,以往制定的计划总是过于宏伟,很多事情都是做不到的,甚至显得遥不可及.但是,今年一定会有所不同,这篇文章就是专为程序员准备的九大新年计划,供各位程序员参考. 1. 学习一门新的不同风格的编程语言 这是很需要的一件事,因为如果你只了解一种语言,它就会局限你解决问题的能力和你的职业发展.所以在新的一年,你应该花些时间学习一门新的语言,体验不同的编程风格,并学以致用. 2. 提高你的已有技能 如今Codecademy,C

作为过来人的感悟:进了小公司的程序员如何翻身进入大公司

进了小公司的程序员如何翻身进入大公司--知乎上的一个问题.看来这是很多在小公司颠簸流离多年感到疲惫的开发者都会关注的问题. 问题描述如下: 都知道大家说毕业要去大公司,但总有不小心或实力不济,进了小公司的应届程序员.请问如何在加班疯狂.培训体系不完善的小公司里,提升自己的实力,凭借技术和工作能力跳槽到大公司?如果说为了进大公司,而选择考研重造,会是个好选择吗? ps:这里的小公司,是指待遇福利一般,随时可能倒闭.发不出工资,说出去都不知道是啥公司的那种.大公司指大家公认的好去处例如 BAT 等.

2018程序员必备的4大网站推荐(代码、编程、SQL等)

科技时代,程序员是一个热门行业,也是一个高薪行业,很多人很羡慕程序员,其实作为一名合格的程序员,要不断的提升自己,因为科技也在不断进步,所以,接下来小编分享5个程序员必备网站,包括代码.编程.SQL等,需要的朋友可以收藏起来慢慢学哦. 一.百度 百度是我们常用的中文搜索引擎,它包含各个方面的信息,当然程序员方面的知识也不少,包括Javaccript.CSS.代码.软件等等,应有尽有. 二.w3cschool 一个专业的编程入门学习及技术文档查询网站,包括html.PHP.Java等数十种编程语言

【同行说技术】Android程序员从小白到大神必读资料汇总(四)

在文章<Android程序员从小白到大神必读资料汇总(一)和(三)>里面介绍了基础学习资料和一点点的进阶资料,今天小编收集了5篇带有实例干货的资料,赶紧来看看吧!另外,喜欢写博客的博主可以申请加工程师博主交流群:391519124,分享你的博文,和大牛们一起交流技术 ~ 一.Android 内存泄漏总结 内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题,本篇详细总结了如何防止内存泄露,满满的干货 二.理解Android安全机制 从Android系统架构着手,分析And

【LINK】程序员想玩转大数据:需要知晓的12种工具

http://www.csdn.net/article/2012-12-20/2813054-Database http://blog.csdn.net/qjfpjie/article/details/8439119 [LINK]程序员想玩转大数据:需要知晓的12种工具

为什么很多Java程序员都转行做大数据了?

如今大数据发展的越来越成熟.各大企业纷纷成立大数据部门.尤其BAT等一线互联网公司每天处理的数据量都是TB级别.大数据部门已成为这些企业的核心部门,数据已成为企业最核心的资产. 但是大数据人才缺口巨大,据统计目前全国的大数据人才仅46万,未来3-5年内大数据人才的缺口将高达150万. 因此大数据工程师薪资也比其他职位高出不少.以北京为例.1-3年的大数据工程师平均年薪30-50万,3-5年经验的大数据工程师年薪在50-80万.想学习的同学欢迎加入大数据学习扣群:458345782,有大量干货(零

一个新手程序员 2019 的九大尴尬瞬间

一个新手程序员 2019 的九大尴尬瞬间 1. 第 一 次 做 项 目 ,还 没 碰 到 代 码 就 开 挂 了 ! 2. 天 啦,我 只 修 改 了 一 下 Bug. "老大,救我 ! 如果上天能给我一次机会重来一次,我一定会先找好女朋友!" 3. 我 只 是 删 了 一 行 代 码 而 已 ! "老板,这一定是隔壁老王干的!" 4. Bug 多 了,总 有 一 个 会 把 你 坑 了. "经理,我还没挂,能再给我一次机会吗?下次我只要一百块!"

宝付谈都是程序员为啥区别这么大

宝付谈都是程序员为啥区别这么大.现下程序员受到了很多网友的关注,他们的工作制度频频上了微博热搜,很多互联网的大佬纷纷谈起了对他们工作制的看法,一位大佬甚至放出了"996"能够给大家福报,而另一位大佬则称自己在年轻的时候还能够"8116+2".宝付获悉近日一名程序员就在网上晒出了自己的年终奖,很多网友看后都不淡定了. 这名网友称自己是在北京的一家大型互联网公司当程序员,如今已经工作了三年,薪资也逐渐稳定下来,在公司他的业绩还算不错,经常能够和老板一起出去外面吃饭,但是