
定律-或称轨则,可以指导我们并让我们在错误的缺点中进修。这篇文┞仿中,我将介绍我每次设计或实现软件时涌如今我脑海的五大年夜定律。个中有些和开辟有关,有些和体系组织有关。它们可以赞助你成为合格的软件工程师。
墨菲定律
“凡是可能掉足,就必定掉足。”

这条定律很轻易惹人软件工程范畴。当你将软件裸露给终端用户,他们会创造性地输入一些进出意表的内容,使体系宕机。所以你须要让你的软件足够结实,可以或许检测并警告非预期行动。
另一边,建车棚是一般人都可以做的,每小我都可以对色彩有看法。事实上,每个会议成员都邑表达本身的看法,使得建车棚的决定所花费的时光远远跨越建反竽暌功堆的。
结论
当你在机械上运行软件时,任何处所都有可能产生问题 —— 大年夜硬盘上的体系到数据中间的电力供给。所以你必须确保你设计的架构在每个层级都可以应对故障。
我曾经有机会领略过几回墨菲定律。 举个例子,我曾经在一个批处理框架中应用字符串“null”来表示空值,我并不认为这有问题,直到有个名字叫“Null”的用户提交了一个交易订单,我们的报表流程中断了几个小时…… 还有一次,在另一个项目中。当所有器械都预备好安排到临盆环境了棘忽然 Azure 基本举措措施故障导致我们运行主动化脚本的办事器宕机了。
实际世比赛的经验教训提示着我生活的艰苦 —— “凡事可能掉足,就必定掉足”。 所以,心中切记墨菲定律,设计结实的软件。
这条定律来源竽暌冠 Edward Murphy —— 一名航天工程师在 50 年代初对火箭测试掉败的回应。这条定律给我们的启发是永远在体系关键处所应用防御性设计,因为体系某些处所总会掉足!
如今,将大年夜的集成应用解耦成微办事已成趋势。这很棒,因为这可以加快交付应用项目。但你也应当切记 Conway定律,在公司组织构建中投入与技巧开辟同样多的工作。
Knuth 定律
“在(至少大年夜部分)编程中,过早优化是万恶之源。”
这条定律是高德纳(Donald Knuth) 的经典语录之一,它告诫我们不要过早优化应用法度榜样中的代码,直到必须优化时再优化。

切实其实,简单易读的源码可以知足 99% 的机能须要,并能进步应用的可保护性。最开端应用简单的解决筹划也让后期机能出现问题时更轻易迭代和改进。
垃圾主动收受接收的编程说话中,字符串的连接经常是过早优化的例子。在 Java 或 C# 中,String 对象是弗成变的,我们学会应用其他构造动态创建字符串,比如 StringBuilder。但事实上直到你分析完个应用法度榜样前,你并不知道 String 对象创建了若干次并对机能的产生多大年夜影响。所以起首编写尽可能整洁的代码,之后在必须的时刻再优化,往往如许做更有意义。
North 定律
“每一个决定都是一次衡量”
好吧,我承认这是取自 Dan North 的演讲 Decisions,Decisions,它今朝还不是公认的定律。 但这条语录影响了我做的每个决定,所以我把它放在这。

开辟者日复一日的生活中,我们天天都做无数个大年夜大年夜小小的决定。大年夜定名变量到主动化(手动)义务,再到定义平台架构。
然而,这条规出场不该该阻拦你去进修编程说话的机能衡量和精确的数据构造。并且,正如所有其他机能问题,你在优化前要测量开销。
这条语录强调无论你做的选择是什么,你总会放弃一个或多个选项
但这不是最重要的。 最重要的昵囗智地做出决定,懂得其他选项,清跋扈你为什么不选择它们。你要始终根据当前你控制的信息来衡量并做出决定。
然则如不雅后来你懂得到新的信息,并发明之前的决定是缺点的,这也没紧要。关键是记清跋扈你为什么做出那个决定,从新评估新的选项之后再做出新的理智的决定。
反复一遍
“每一个决定都是一次衡量”
所以,做出选择并对所有选项心知肚阈海
Conway 定律
“体系设计的架构受限于临盆设计,反竽暌钩出公司组织的沟通架构”
在 60 年代,一位名叫 Melvin Conway 的工程师留意到公司组织构造影响到他们开辟的体系的设计。他用一篇论文描述了这个不雅点,并定名为“Conway 定律”。

这条定律很实用于软件开辟范畴,甚至表现到代码层面上。交付软件组件的各个团队组织构造直接影响到组件的设计。
举个例子,一个集中式的开辟者团队会开辟出各组件耦合的┞符体应用。另一方面,分布式的团队会开辟出零丁的(微)办事,每一部分存眷点分别清楚。
这些设计没有短长之分,但它们都是受到团队沟通方法的影响。在全球有大年夜量自力开辟者的开源项目,平日是模块化和可重用库,这就是很有说服力的例子。
琐碎定律(帕金森琐碎定律)
“组织成员投入大年夜量精力到琐碎的工作上。”
推荐阅读
日本漫画家士郎正宗在《攻壳灵活队》世比赛构思的黑科技,诸如仿生假肢、电子脑、脑机接口、光学迷彩和脑对脑交换等,如今已然成为了科学家们卖力研究的课题。“中短期内,这一技巧可>>>详细阅读
本文标题:每个程序员都该知道的五大定律
地址:http://www.17bianji.com/lsqh/37611.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示