干净的代码。听起来很简单,对吧?那为什么我们做不到呢?让我们调试一下。
对于这样一个简短的想法,您会发现一堆试图解释它是什么的文章。在这些文章中,你会发现各种各样的想法,他们甚至会附上一些代码,这样你就可以看到干净的代码是什么样的。然后你会开始思考“是的,我应该这样写”或“我怎么不这样命名我的变量”。也许有那么一刻你会觉得有些事情发生了变化。
但事实秒您今天会阅读它们,明天您将继续编写您习惯的相同代码。因为仅仅阅读一篇文章不会改变你编写代码的方式(10 都不是,相信我)。你需要承认你必须应用你阅读的内容,否则你可能会浪费时间阅读从长远来看你会忘记的东西。老实说,如果你能接受这个单一的想法,你已经赢了。
我们如何编写干净的代码?
干净的代码很简单。足够简单,以至于当其他人阅读它时,他们感觉就像在用自己的母语阅读一本小说。
用你的母语读一本小说感觉很流畅。您通常不会考虑语法或结构,因为您已经习惯了它们,而且作者很可能会牢记它们。我们如何让我们的代码感觉像这样?我们需要设置一些优先级,因为它们被称为优先级,所以它们不能超过 5。
1. 长度(提示:短)
写一个 100 字长的句子有意义吗?你能记住吗?会不会觉得很自然?当然不是。代码也是如此。在代码中,我们没有句子,我们有函数。函数不应超过 50 行代码,我的目标是25 行/函数。同样,不要让你的文件超过 200 行,并以 100 行为目标。阅读长文件很累,每个人都去过那里。
2. 使用函数
我们如何实现这么短的功能?通过使用更多的功能。函数是使代码更清晰的关键。有一个简单的规则可以改变您编写函数的方式:目标是在同一抽象级别上编写代码,如果太长,则将代码移动到函数中并改为调用它们。当一个函数过于笼统时,通常你可以从中抽象出一些东西。选择您应该抽象的内容是一项重要的任务,因此请进行适当的分析。函数是你的朋友,它们为你的代码提供结构。
3. 函数应该只做一件事
当您希望函数只做 1 件事时,缩短函数会容易得多。忘记你的函数,它需要 5 个参数,甚至可以做你的晚餐。SOLID 中的 S 代表单一职责。此类功能的一大好处是它们更易于测试。
4.使用直观的命名
我们如何命名我们的函数和变量?这很难。命名变量z与
sum_inputs_minus_min_element一样糟糕。当你命名一个变量时,想想它的函数。函数内部的代码应该表达函数意图,而不是相反。为函数选择一个好的名字,然后如果你在其中保持一个恒定 的抽象级别,变量的命名就会自然而然地发生。好的函数命名会产生好的变量命名。
5. 为读者着想
为了让您的代码被使用并保持最新状态,您必须更频繁地阅读它而不是编辑它。因此,请考虑读者,无论是为了他还是为了您想要提供的强大功能。花点时间设计代码,会节省大量阅读时间。从长远来看,质量胜过数量。
为了编写干净的代码……
- 记住所有会阅读你代码的人
- 函数应该简短
- 功能应该有一个单一的职责
- 给函数命名好,变量名自然会来
- 始终如一
我希望这篇文章为您提供了一个清晰的视角,使您可以轻松地采取行动。