每个程序员都需要知道这一点(或关于编码语的激烈点击诱饵)





YAGNI,KISS,DRY,WET,SLAP,ASAP和YOLO-这都是什么意思?



Ave,编码器!如果您曾经阅读过英语编程文献,学习过英语课程,与讲英语的编码员合作过或者只是与他们通信,那么您可能会遇到这些缩写,并且当一个有胡子的编码器对另一个说KISS时,我保证您的眉毛至少略微提高。



在本文中,我们将分析这些单词(或简称)在讲英语的IT行家中的流行程度。



此处的视觉效果:youtu.be/ub0YtnSwqRA







吻(“保持简单,愚蠢”)



这不是模式,不是反模式,也不是70年代的摇滚乐队,在这种情况下,它不是编程任何东西的最流行的原理或方法之一。



实际上,此原则要求您的代码应尽可能简单,因为一堆不必要的函数会相互复制,并且习惯用右手抓挠左耳的习惯并不是专业程序员的标志。



代码越简单,分别理解起来就越容易,在您之后会after耙此代码的人下烧椅子的机会就越少。



史蒂夫·麦康奈尔(Steve McConnell)曾经说过:“编写代码,就好像知道您居住地的暴力心理变态者会支持它一样。”

因此,最好不要将不需要的东西复杂化。







干(“不要重复自己”)



“不要重复自己”原则与KISS本质上非常相似。这很简单,同时具有广泛的意义。这很简单,同时具有广泛的意义-开玩笑了吗?



复制和粘贴和复制您自己的代码片段,例如脊柱侧弯或视觉障碍-随着时间的流逝,所有程序员都会遭受这种痛苦。没有任何错误。有时每个人都需要快速检查某些内容(预期的行为或其他内容),然后确定是否值得正确编写。但是将这样的代码发送到生产中绝对是不可接受的。



DRY提醒我们,代码中的每个重复行为都可以并且应该被检索(例如,在函数内部),以供以后重用。在代码库中拥有两个相同的代码不是一件好事。这通常会导致代码中的不同步和其他错误,更不用说程序大小的增加了。







WET(“我们喜欢打字”)



WET解决方案广泛应用于多层体系结构中,在该体系结构中,开发人员可以承担例如在Web应用程序中向表单添加注释字段的任务。“注释”文本字符串可以在标签,HTML标记,读取函数名称,私有变量,数据库DDL,查询等中重复。DRY方法使用减少或消除了除最重要的编辑任务以外的所有框架的框架消除了这种冗余,同时保留了在一个位置添加新变量的能力。







YAGNI(“您将不需要它”)



您不需要这个-这是一个可能与某些程序员以及在学校课程中增加分米的程序员的观点相抵触的原则。



面向未来通常是好的,但在编程中则不然。保留任何仅用于将来扩展的代码并不重要。



但是,如果您天生是一名网络大佬,并且从只剩下必需品的想法开始,椅子下面的椅子就开始融化,那么我们就可以弄清楚-这是编程的不良方法还是生活中的诊所?



编码器项目的结局不是很明确。除非作者放弃这个想法(并且不将其传递给其他人),否则该项目实际上将继续进行。因此,无论是概念,体系结构还是代码本身,都有并且将始终有改进的空间。

这是一回事-理想的代码在您的脑海中看起来如何-没有错误和拐杖,另一回事-真正的情况。

自然,在寒冷的秋天傍晚,编码者可能会略微感到悲伤和冷漠,并且编码器可能决定在程序中放入所谓的“扩展点”(旨在轻松考虑新功能的地方),如果它们没有被合理使用或不是强制性功能的话然后成为拖延的纪念碑,并为代码库增加不必要的复杂性和大小。想到它,它甚至违反了先前讨论的KISS原则。







SLAP(“单一级别的抽象原理”)



单层抽象原理(SLAP)定义了如何组织代码(特定功能)以保持其可维护性。



冗长而复杂的功能很难忍受。它们使其他开发人员难以理解且难以测试。如果完全掌握在我们的手指上,那么,一旦我们面对这样的可憎之处,我们必须立即将其转换为几个小功能!



正如罗伯特·马丁(Robert Martin)所说:“函数只能做一件事,而它们应该做得很好。”



但是,我们究竟应该如何组织职能呢?当您(我的毛茸茸的朋友)在编程方面变得更有经验时,您将开始更多地了解编程的实用,美观和功能方面,以及旨在帮助您的称为SLAP的原理。



粗略地说,您的函数应该只做一件事,或者换句话说,应该只具有一层抽象。



基本上,例如,读取用户输入的函数也不需要对其进行处理。取而代之的是,您将需要使用位于另一个较低抽象层的单独函数。一个函数越通用,它使用的其他函数越多,它在抽象层次结构中就越高。







FOOBAR(“超越所有人的认可”)



用俄语来解释:“破碎,使其无法恢复”。

这是从军事语到IT的绝佳表达,还有其他杰作,例如SNAFU- “情况正常-全部搞砸了”;就像是这样:“情况很自然,但徒劳无功。”

传说C程序员对变量使用名称“ foo”和“ bar”作为所谓的“占位符”或占位符,特别是在本教程示例中。因此,他们聪明的小脑袋摆脱了提出新名字的负担,可以专心解决问题。

随着时间的流逝,这成为一种传统,并从C迁移到许多不那么古老的语言,因此可以在各地的教科书中找到此类名称的示例,并且将“ FooBar”一词应用于该项目,意味着您可以开始寻找其他东西...







尽快尽早”)



“尽早。”

最近,它已成为一种趋势,即“在合理范围内尽快”-“在合理范围内尽快”。

第一次世界大战期间,它也从军队的lang语中开始使用。直到今天,它经常被使用,如果这个缩写经常与上司一起使用,那么这可以雄辩地表明公司的组织水平或管理技能以及在老板中优先排序的能力。但是,当情势失控时,当然还有例外,而Foobar一般而言。







仅供参考(“供您参考”)



正式的含义是“我引起您的注意”,但松散的翻译是:“让您知道”。到处都有电子邮件通信,特别是当通信不是亲自与您进行时,晴天,但尽管如此,他们还是决定通知您。







TL; DR(“太长;未读”)



类似我们的“多字母的neosilil”。这通常可以在长篇文章中看到,作者在其中揭示了自己的灵魂,撕开了面纱,但读者却懒得深入研究。







DIY(“自己动手做”)



自己做。来自小型建筑商店的名称,这些建筑商店出售用于修理而不是建造房屋的货物。这意味着工作量很小,您可以自己做,而无需雇用合格的人员。

随后,该概念移植到IT部门,并且可以适用于例如专家需要从相关领域进行工作的情况,但是它又小又琐碎,以至于您自己可以更轻松地完成。







YOLO(“你只能活一次”)



“你只活一次。” 类似于拉丁语的“鲤鱼争鸣”(“抓住当下”),这是对一生的呼吁,即使是举止可能带有某种风险的行为。这是边界上没有合理经验或无拘无束乐趣的最后争论,但有时它可以传达出更合理的信息:让恐惧统治您的决定是愚蠢的,因为您只能活一次。



记住,YOLO,所以,KISS。是V 频道见!大道!



All Articles