罗伯特·马丁(Robert Martin)在说时把它完美地钉了起来。
“唯一有效的代码质量度量是What-The-F ** ks / Minute。”
让我进一步解释一下。
每当我进行代码审查时,我的头脑都会产生三种不同的情绪。
·What-the-F ** k( 令人厌恶 )— 不需要此代码。
·What-the-F ** k( 敬佩 )- 这个家伙很聪明
·What-the-F ** k( 激怒 )- 无法理解这种胡言乱语
那么,每当我们看到任何代码时,影响我们的第一件事是什么?
这是干净漂亮的代码。
编写干净漂亮的代码是GREAT软件工匠的标志。
学习这项伟大的工艺涉及两个部分: 知识和工作 。 知识会教给您在职业上需要变得更好的模式,原理,实践和启发式方法。 但是,通过不断的练习和努力,需要将这些知识打入您的手指,眼睛和肠道。
简而言之,学习编写干净的代码是一项艰巨的工作。 您必须为之汗水。 您必须练习,发现,失败和掌握,并一次又一次地重复这些步骤,直到正确为止。 没有比这更简单的方法或技巧了。
这里是您掌握精巧代码的技巧。
肯德里克·拉马尔(Kendrick Lamar)在说时把它钉牢了。
“如果我要讲一个真实的故事,我将从我的名字开始
名称在软件中无处不在。 我们命名函数,类,参数,包以及其他名称。 我们命名源文件,目录以及其中的所有内容。 我们不断地命名,命名和命名,因此它成为我们干净代码引擎中最重要的障碍物。
您的名字应该显示意图。 选择好名字需要时间,但要节省很多钱。 因此,请小心使用您的名字,并在找到更好的名字时进行更改。 读取您的代码的每个人都会非常感谢您。
永远记住,任何变量,函数或类的名称都应回答三个大问题。 它为何存在,其作用和用途。
这不仅需要良好的描述能力,而且需要跨越国界的共同文化背景,没有人能比您自己更好地教您这一点。
路易斯·沙利文曾经很漂亮地说过。
“形式遵循功能。”
每个系统都是由特定领域的语言构建的,该语言是程序员设计的以恰当地描述它。 函数是该语言的动词,类是名词。 函数通常是任何编程语言中组织的第一线,编写好代码是编写好代码的本质。
编写干净函数只有两个黄金法则:
·它们应该很小
·他们应该只做一件事,并且应该做好
因此,这意味着您的函数不应足够大以容纳嵌套结构。 因此,函数的缩进级别不应大于一或两个。 这种技术使阅读,理解和消化更加容易。 除此之外,我们还需要确保函数中的语句处于相同的抽象级别。
在函数中混合使用抽象级别总是很混乱,并在适当的时间内导致代码难以管理。 熟练的程序员将函数视为要讲的故事,而不是要编写的代码。
他们使用所选编程语言的功能来构建更丰富,更具表现力和更简洁的编码块,从而可以充当理想的讲故事的人。
当她观察时,维纳斯·威廉姆斯(Venus Williams)砸中了指甲。
“每个人都发表自己的评论。 这就是谣言的开始。”
评论就像一把双刃刀。 没有什么比放置适当的评论更有用。 另一方面,没有什么比浪费空间的琐碎,无用的注释更混乱了。 没有比散布虚假信息和谎言的评论更具破坏性了。
简而言之,评论充其量是必不可少的。 为什么? 并非总是如此,但在大多数情况下。 注释越老,维护它们就越困难,并且大多数程序员都因不按照代码进行维护而臭名昭著。
代码不断发展。 代码块在这里和这里移动; 评论不,这成为问题!
始终记住,带有很少注释的清晰表达代码远胜于带有大量注释的混乱且复杂的代码。 不要浪费时间解释您创建的混乱,而要花费时间来清理混乱。
罗伯特·C·马丁说得对。
“代码格式与沟通有关,而沟通是专业开发人员的首要任务。”
上面的陈述也许不能被低估,这是真正的GREAT开发人员的最重要特征之一。
格式化的代码是您的脑海。 我们希望人们对我们的秩序,对细节的关注和思想的清晰印象深刻。 但是,在查看代码时,如果他们看到混乱的,混乱的代码块没有清晰的开头或结尾,那无疑会破坏我们的声誉,毫无疑问!
如果您认为“ 让它正常工作 ”是专业开发人员的头等大事,那么您再也无法摆脱现实。 您今天创建的功能很有可能在下一个版本中进行更改,但是您对代码的可读性将永远不会改变。
在原始代码已完全转换为无法识别之后,编码风格和可读性继续影响代码的可维护性。
永远记住,您会因自己的风格和纪律而被人们铭记,而在未来的代码中却很少。 因此,您需要注意代码格式正确,并受所有团队成员理解的简单规则支配。
乔治·坎圭尔姆(Georges Canguilhem)正确地说了话。
“犯错是人类的行为,坚持错误是极有害的。”
错误处理是所有程序员都要做的事情。 输入可能异常,设备可能发生故障。 作为开发人员,我们希望确保代码能够完成预期的工作。 但是,问题不是处理错误,而是以清晰易读的方式处理错误。
许多代码是由错误处理主导的。 事情变得如此分散,以至于完全消除了主代码的目的和逻辑。 如果发生这种情况,那是错误的,完全是错误的。 代码应该干净,健壮,并能处理宽限期和样式错误。 那是一位伟大的软件工匠的印记。
做到这一点的方法之一是通过适当的封装并捕获try-catch块中的所有错误。 这些块以某种方式定义了代码的范围。 当您在try-catch-finally语句的try部分中执行代码时,您表示执行可以在任何时间点中止,然后在catch处恢复。
因此,在编写代码时,从try-catch-finally语句开始是一个好习惯。 这可以帮助您定义代码用户可以期望的内容,而不管try中执行的代码出了什么问题。
始终记住,您抛出的每个异常都应包含足够的上下文以确定错误的来源和位置,在编写代码并且程序员离开组织后很长一段时间内,都会记住富有创造性的错误消息。
那么,什么可以概括这里的所有内容呢?
答案是代码检测。 该软件等同于常识。
根据罗伯特·马丁(Robert Martin)的说法,“ 编写干净的代码要求通过痛苦地获得的“干净”感来规范地使用无数小技巧。 这些小技巧统称为 代码感知 。”
我们中的某些人天生就有它,而有些人则必须通过实践,坚持不懈和毅力来痛苦地获取它。 这种代码意识不仅帮助我们区分好代码和坏代码,而且还帮助我们形成将坏代码转换成好代码的策略。
它以明显的眼光向我们显示,如果用狗屎在上面结霜,仅烘烤一个可爱的蛋糕将无济于事。
此代码感知可帮助程序员选择最佳的变体和最佳的工具,以指导他或她努力创建增值的干净漂亮的代码。
简而言之,具有代码意识的程序员就是画家,他可以将黑屏转换成精美的艺术品,并在以后的几年中被人们记住。
正如Harold Abelson正确总结的那样。
“必须编写程序供人们阅读,并且只能偶然地使机器执行。”
“敏捷软件技巧手册”-Robert Martin。
“敏捷评估手册”-Mike Cohn
关于作者-:
Ravi Rajan是位于印度孟买的全球IT计划经理。 他还是一位狂热的博客作者,Hai句诗作家,考古爱好者和历史狂人。 在 LinkedIn , Medium 和 Twitter 上与Ravi联系 。
From: https://hackernoon.com/how-to-make-your-code-clean-and-beautiful-5ff7aee03be6