懒惰编程的力量

这13种工具和技术证明,在编码时,懒惰是一种美德

TRF_Mr_Hyde

谁说努力工作,是一种美德从来没有遇到一个程序员。是的,谁努力沟挖掘机产生比那些长的沟渠谁遐想,农民谁瘦成犁厂更多的食物比那些谁盯升空而起。但是编程是不一样的。有上眉头,满意用户汗水之间不存在线性关系。

有时候,如果程序员通宵达旦地工作是有帮助的,但通常情况下,聪明的程序员——和懒惰的程序员更好。那些无视“努力工作,保持谦逊”励志标语的程序员常常会产生显著的结果,这都是因为他们想避免工作太辛苦。真正的天才找到方法,通过把他们的杂务卸给电脑来做最少的事情。毕竟,让计算机工作才是计算机程序员真正的工作。

下面是13级的技术和工具,证明惰性编程的力量。下一次的老板告诉你它的时间卷起你的袖子,瘦成控制台,头午睡室代替。

懒惰的评价

沿线某处,聪明的程序员意识到他们的软件将运行得更快,如果它没有尽职尽责地计算表达式的每一个部分。此功能,有时也被称为“被需要调用”或“懒惰的评价,”现在就像是Haskell中,F#和Python 3.0编程语言的正式组成部分。

最简单的例子是该策略在检查空指针时的使用。的对象X在这个语句中计算例程开始之前检查为非空:

if (x && x.calculation()),则…

检验是否存在X防止崩溃。在更复杂的示例中,通过提前查看何时可以修剪计算树,惰性求值节省了将被丢弃的无数计算量。如果快速测试是第一个执行的,它可以节省以后的无数次循环。当数据结构可能是无限的(就像在一些数字理论的例子中那样),那么惰性求值允许程序实际完成。

[也是在网络世界足球竞猜app软件10大移动应用开发平台]

该技术不仅对加速Haskell等函数式语言有用。聪明的程序员不会花很多时间计算值,如果只需要使用其中的几个值。它们将嵌入延迟开关,只有当有人想使用它时才触发计算。在这里,做最少的工作是有意义的。

缓存

为什么重复自己?任何人谁是编程的网络知道有很多重复自己每个人谁在你的网站显示。缓存就是答案 - 而不是只为网站。即重新计算同样的问题,任何代码都可以通过保持回答周围的副本有待加快。

它不一定是最终的答案。复杂的缓存可以为问题的不同部分保留部分答案。如果某些部分需要重新计算,他们仍然可以点击缓存来寻找那些不需要重新计算的部分。例如,组装网页的网站通常会缓存页面的不同部分,然后从这些块组装整个页面。

有些人可能会抱怨说缓存是程序员的更多工作。在完成了查找答案的代码之后,就该编写位于顶部的另一层来保存答案的缓存了。关于这额外的一层,他们可能是对的,但是他们忽略了其他被保存下来的工作。好的缓存可以为我们节省伸缩服务器群来处理额外负载的所有工作。扩展通常比编写一些缓存代码需要更多的工作。

指定只有一次的一切

关于编程,我学到的最重要的规则之一是,每个常量只能在代码中编写一次。如果软件的规格是在一页边上留一英寸的边距,那么1的值应该只出现在常数的定义中一次。其他地方都用这个常数。

这个简单的组织懒惰位不负有心人在路上。如果你想改变的价值 - 比如,通过提高保证金至1.5英寸 - 你需要做只有一个变化的代码。

您还可以在一个有点自文件到您的常量的名称工作,让你的保证金价值像MarginSizeInInches的名称。这可以节省你写一个单独的评论的麻烦,而这个恒定的注释将按照整个代码不变。

当然,更长的常量名可能意味着更多的打字,但随后大多数编程编辑器提供自动完成,甚至更多的救你。

框架:终极捷径

在一个项目上,西装想要一个新的网站,所以我掀起一起来制作我使用WordPress告诉他的错误。这是没有好。他的一个哥们下来在高尔夫球场的告诉他,WordPress的是博客和这将是brochureware。当时我是白痴?

于是,他欺负的CFO到分配$ 5,000专业网站。结果看起来很棒,它运作得非常顺利,因为它应该,因为这个胆量都WordPress的。该指控他5000 $该公司是足够聪明,更何况他们曾经是一个基础。

有些人喜欢出于同样的原因自定义代码,有些人徒步珠峰:他们喜欢做自己,不管是什么成本。聪明的程序员下载像WordPress或Drupal的一个很好的开源框架,站在巨人的肩膀上。如果有任何新的代码编写,这是不超过几行。

打破了汗水来编写自己的代码往往是一个很大的错误。为框架的开源代码已经被成百上千的人经过全面测试。这并不总是很理想,但它就像开始在99米长的线在100米短跑。此外,当你测试代码,并上传任何错误报告或修复,其他人的安置津贴。

自动化:优于以往任何时候都

某些C骑师还是爱的malloc自己的内存,并释放它,当他们知道它的完成。在他们看来,引用计数和垃圾收集是懦夫。当然,也可能有一些矿工谁仍然使用锄,就像约翰·亨利。

编程语言开发的一个很好的部分是自动化,工具从来没有这么好过。内存管理、类型检查和并行处理都被重新发明为自动工具,取代了以前程序员自己做的所有乏味的后台工作。

懒惰的程序员的不是抵制这些工具。他们知道,他们的所有缺陷,他们仍然比一般人更好的平均每天。哦,当然,一个非常聪明的黑客可以花更多的时间和产生艺术的疯狂快速的工作,但只是制造了该系统的重要组成部分的内部循环检测。我们其余的人更好地培养出平均代码,并让自动化工具使我们作出一些最严重的错误。

DevOps的:懒惰人格化

有些人嘲笑编写指令以保持代码最新和服务器运行的脚本编写者。解压缩某些文件或复制某些目录有什么困难呢?

当然,大部分的管理工作并不是那么困难,大多数常见的Unix命令只有两个字符,但是这没有抓住重点。延迟和自动化部署和维护可以确保快速完成,而且最重要的是一致完成。午夜班的人做的事情和早上8点的团队完全一样——而且他们有没有喝咖啡也不重要。

自动化带来的严谨性和稳定性。肯定的是,DevOps的团队看起来胖又懒的时候,因为在crontab触发器,但一切运行更流畅,它甚至不按下一个按钮。有没有很多错误,当人类是循环的。

有关:
12 第1页
页面1的2
工资调查:结果是