如何保持代码整洁有序?

How to keep code clean and organized?

保持代码干净和有条理对于未来的维护很重要,特别是对于程序员循环(或被解雇,希望不会)的公司。

我一直在 Google 上四处寻找,我发现了一些可以提供帮助的东西,比如:正确命名变量和方法等......然而,尽管我尝试应用其中的大部分规则正确,我仍然无法正确组织我的代码,我会注释所有内容,以便维护变得更容易。

我迷失在复杂的代码中,其中有许多嵌套语句,例如:if inside if inside for,等等...

为了解决这些问题,我可以使用 Netbeans 来解决,如下所示:

Netbeans 允许通过 <editor-fold> 标记压缩代码。现在没问题,但问题出在其他人必须修改此代码的地方,因为 xml 标签是 IDE 依赖的。

问题是:什么是正确的方法或模式,使代码既易于理解又易于清洁,而不是 IDE 依赖。

A good code is pretty much its own documentation.

Java 文档提供了许多有关如何以更好的方式编写代码的详细信息。

我的建议是:

使用正确的命名约定:

在你的代码中我可以看到一些代码味道,变量 test 和 test2 可能是其他程序员麻烦的主要原因。

尝试制作模块:

制作模块也可以让代码更容易理解。例如,从长代码中创建可能的方法并正确命名它们。我的老师曾经告诉我:"if you cannot name a method or think of any appropriate name for your method it means you are doing it wrong"

注释 被认为很重要,但我认为好的编写代码不要依赖注释。您可以添加它们来解释什么是复杂的。

适当的缩进也很重要。

从哪里开始

如果您有许多难以理解的类似于以下内容的片段,我敢肯定您没有应用所有最佳实践:

if inside if inside for

阅读与该主题相关的书籍是开始编写干净代码的一个很好的地方。尽管书籍有时会受到批评,但它允许一次涵盖多个方面,并使教程、博客笔记等所拥有的知识更加系统化。就个人而言,我可以推荐 Robert C. Martin 的 Clean Code。

如果你熟悉一种理论,那就多练习。编写代码并改进它。一次又一次。找个更有经验的人,问他更难的案例也很有用。

我建议以下三点,从我的角度来看非常重要。

自我记录代码

首先,我会尽量减少评论的数量,避免虚线,"editor-folds"等等。如果您需要使用分隔符拆分代码 - class 可能太长了。请阅读更多关于好的评论和自记录代码 here

无条件编程

很多时候用一些 OOP 原则替换 if-elseswitch 指令是个好主意。 This answer 包含几个有用的链接。

Package/Class/Method尺寸

重新组织所有例程,这些例程太大而不易理解。使用 OOP 范例将长方法拆分为更小的、重新设计的 God classes。该规则也适用于项目——您可以将其拆分为模块或子项目并重复使用。单一职责原则可能会有所帮助 - some examples.