大家好,我是欧盆索思(opensource),每天为你带来优秀的开源项目!
大家在做开发时,除了学习语言、其他一些基本技术之外,慢慢需要接触软件设计的一些法则,多一些设计的思维,向架构、设计师方向靠近。你可能知道一些软件设计的法则,到你总结过吗?能梳理出多少?今天给大家推荐的是一个黑客法则,列举了计算机行业众多定律、理论、原则和模式。
项目地址:https://github.com/dwmkerr/hacker-laws,Star 数 14.8k+,该项目是英文的,但被翻译成十几种语言,其中也有中文版,中文版地址:https://github.com/nusr/hacker-laws-zh,Star 数 5.9k+。

我们一起看看一些我们熟悉的法则:
破窗效应:在破窗理论中认为,一些明显的犯罪迹象(或缺乏环保意识)会导致进一步的、更严重的犯罪(或环境的进一步恶化)。破窗理论已应用于软件开发中,它表明劣质代码(或 Technical Debt)可能会影响后续优化的效率,从而进一步造成代码劣化;随着时间的推移,这种效应将会导致代码质量大幅下降。摩尔定律:集成电路中的晶体管数量大约每两年翻一番。这条定律通常用于说明半导体和芯片技术提高的绝对速度。从 20 世纪 70 年代到 21 世纪前十年,摩尔的预测被证明是高度准确的。近年来,这种趋势略有变化,部分原因受到量子隧穿效应影响。然而,并行化计算的进步以及半导体技术和量子计算潜在的革命性变化,可能意味着摩尔定律在未来几十年内继续保持正确。墨菲定律:凡是可能出错的事就一定会出错。在开发、测试甚至在生产中都有可能会发生一些令人意想不到的事情。过早优化效应:过早优化是万恶之源。Unix 哲学:Unix 哲学指软件组件应该很小,并专注于做一件特定的事情。将小而简单以及定义良好的单元组合在一起,而不是使用大而复杂的多用途程序,可以更轻松地构建系统。像微服务架构这种现代实践可以认为是这种哲学的应用,其中服务很小,集中于做一件特定的事情,由简单的构建块组成复杂的行为。SOLID:指单一职责原则、开闭原则、里式替换原则、接口隔离原则和依赖反转原则的首字母缩写。这是面向对象设计的 5 大原则。当然还有很多很多。
今天的项目大家觉得怎么样吗?如果你喜欢,请在文章底部留言、点赞或关注转发,你的支持就是我持续更新的最大动力!
OpenSourceDaily - 送给爱开源的你
Git · GitHub · GitLab · Gitee