干净的代码...为什么要费心? - 第 2 部分 1. 干净的代码带来更好的实践 2. 审查 PR 是一项艰苦的工作 3. 可重用性 4. 更快地修复错误 最后的一些想法

2025-06-07

代码整洁……何必呢?——第二部分

1. 干净的代码带来更好的实践

2. 审查 PR 是一项艰苦的工作

3.可重用性

4. 更快修复错误

最后一些想法

在我最新的文章中,我写了关于代码整洁之道以及为什么它值得你花时间。在写作的过程中,我不断涌现出一些想法,但文章太长了,所以我决定把一些想法留到第二篇文章中。

我将首先阐述我认为干净的代码值得你花时间的更多理由,并讨论在编写更干净的代码的道路上我们可能会遇到的一些障碍。

1. 干净的代码带来更好的实践

当您尝试清理一些代码时,您可能会意识到代码混乱的原因是因为有一个更大的问题需要处理。

例如:我意识到我的代码不够简洁,因为我给函数起的名字不够直观:UpdateUserAndGetRemoved。当我在为函数思考一个更好的名字时,我意识到问题在于我不应该只用一个函数来更新用户并返回已移除的用户,因为函数应该只有一个用途。所以,在这个例子中,我应该有两个函数,UpdateGetRemoved

2. 审查 PR 是一项艰苦的工作

拉取请求 (PR) 审阅者必须逐行阅读你的修改,才能理解其作用,并判断你的解决方案是否符合他们的需求。这需要大量的工作,而混乱的代码只会让审阅变得更加困难。审阅者可能会添加一些需要你修改的评论,或者他们甚至可能认为这不值得他们花时间,直接拒绝整个 PR。

请记住,混乱的代码不仅会影响您,还可能使其他人的工作变得不必要地复杂。

3.可重用性

更好的实践意味着更高的可重用性。回到#1中的例子:混乱且命名糟糕的函数比拆分版本和的UpdateUserAndGetRemoved可重用性更低UpdateGetRemoved

可重用性帮助我们避免重复代码,并保持软件行为的一致性。此外,通过重用为先前功能编写的代码,它还有助于更快地构建新功能。

此外,重复使用的代码通常更安全,因为它可能已经与其编写的原始功能一起经过测试。

4. 更快修复错误

当你被指派修复一个 bug 时,你首先需要做的就是了解错误本身,然后了解导致错误的代码。干净的代码应该更容易修复,因为它更易于阅读和理解。你可以立即阅读并找到错误,甚至无需调试。

混乱的代码可能会迫使您一遍又一遍地调试,您甚至会意识到您必须重写很多代码才能解决问题。

这就是代码可读性至关重要的原因之一


最后一些想法

与大多数良好实践一样,整洁的代码也是一种投资。你可能需要花费一些额外的时间来编写它,但你以后一定会享受到它带来的好处。
更重要的是,这项投资不仅对项目有益,也对你有益:运用良好的实践可以帮助我们学习,成为更优秀的开发人员。

可能会有障碍

告诉你我的所有代码始终 100% 干净,那是骗人的。我提倡良好的实践,并始终尽力践行,但有些因素会阻碍我们的代码达到我们期望的干净程度。以下是一些例子:

a. 我们不断学习

随着我们的学习和进步,我们的代码会变得越来越好,尤其是在我们试图编写更简洁的代码的时候。这意味着,如果我们回顾过去的项目,我们可能会发现一些不那么简洁的代码,这没关系。如果不编写代码,我们就无法提高编程水平。

b. 框架不断发展,良好实践也在不断改变。

随着框架的发展和新功能的推出,使用该框架解决问题的最佳方法也可能会发生变化。这意味着你的旧代码可能包含一些在编写时并不糟糕的实践

我能想到的最好的例子就是async/awaitJavaScript 的引入。在这种表达式出现之前,我们必须使用嵌套回调或 Promise 来执行异步代码,相比之下,这要混乱得多(这就是人们称之为回调地狱的原因)。

c. 我们根本负担不起

编写完美干净的代码需要时间,有时我们无法承受。


所有这些都完全合理,而且最重要的是,它们都是真实存在的问题。但是,难道仅仅因为代码永远不可能完美,我就应该放弃编写干净的代码吗?当然不行!我们并没有责任始终编写完美的代码,但尽力而为绝对是我们的责任。无论如何,这是我的观点。

没有足够的时间写出完美整洁的代码?妥协吧!尽力而为。这绝对比彻底放弃要好。投资你的项目,投资你自己

文章来源:https://dev.to/paulasantamaria/clean-code-why-bother-part-2-1eme
PREV
软件职业建议
NEXT
为什么依赖关系很重要?立即将您的 Nuxt SSR(通用)应用部署到 Vercel。