如何保持代码整洁有序? [关闭]
Posted
技术标签:
【中文标题】如何保持代码整洁有序? [关闭]【英文标题】:How to keep code clean and organized? [closed] 【发布时间】:2015-06-26 07:51:35 【问题描述】:保持代码整洁有序对于未来的维护很重要,特别是对于程序员循环(或被解雇,希望不会)的公司。
我一直在谷歌上四处寻找,我发现了一些有用的东西,例如:正确命名变量和方法等......但是,尽管我尝试正确应用这些规则中的大部分,但我仍然有无法正确组织我的代码,我会评论所有内容,以便维护变得更容易。
我迷失在复杂的代码中,其中有许多嵌套语句,例如:if
inside if
inside for
,等等......
为了解决这些问题,我可以使用 Netbeans 来解决,如下所示:
Netbeans 允许通过<editor-fold>
标记压缩代码。现在还可以,但问题在于其他人必须修改此代码,因为该 xml 标记依赖于 IDE。
问题是:什么是正确的方式或模式,同时使代码易于理解和清洁,而不是依赖于 IDE。
【问题讨论】:
做好文档并遵循 Java 的约定。差不多吧。如果不能自我解释,您可以在代码中添加一些 cmets。 这是一个相当广泛的问题,并不是真正的特定编程问题。也许它最适合Programmer's Stack Exchange?不确定.. 无论哪种方式,请查看on-topic。保持代码整洁有序的一个好方法是遵守SOLID principles 阅读:amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/… 你会得到很多关于如何简化复杂代码逻辑的想法(许多嵌套的 if/else - 正如你所描述的)。 @VinceEmigh 这个问题不适合程序员——它会很快被否决并在那里关闭,见meta.programmers.stackexchange.com/questions/6483/… 推荐阅读:What goes on Programmers.SE? A guide for Stack Overflow 只是不要这样做。将您的方法保持在 20-30 行以下,您不会觉得需要在其中折叠。复杂代码唯一合理的做法是避免它。 “提取方法”是你最好的朋友。 【参考方案1】:从哪里开始
如果您有许多难以理解的片段,我敢肯定您不会应用所有最佳实践:
if
内部if
内部for
从干净的代码开始的一个很好的地方是阅读与该主题相关的书。尽管书籍有时会受到批评,但它可以一次涵盖多个方面,并使教程,博客笔记所拥有的知识更加系统。就个人而言,我可以推荐 Robert C. Martin 的 Clean Code。
如果您熟悉某个理论,请多多练习。编写代码并改进它。一次又一次。找一个更有经验的人向他询问更困难的案例也很有用。
我建议以下三点,从我的角度来看非常重要。
自记录代码
首先,我会将 cmets 的数量减少到最低限度,避免使用虚线、“编辑器折叠”等。如果你需要用分隔符分割你的代码——这个类可能太长了。请阅读更多关于好的 cmets 和自记录代码here。
无条件编程
很多时候,用一些 OOP 原则替换 if-else
和 switch
指令是个好主意。 This answer 包含几个有用的链接。
包/类/方法大小
重新组织所有例程,这些例程太大而难以理解。使用 OOP 范式将长方法拆分为更小的、重新设计的上帝类。该规则也适用于项目 - 您可以将其拆分为模块或子项目并重用。单一职责原则可能会有所帮助 - some examples。
【讨论】:
【参考方案2】:一个好的代码几乎就是它自己的文档。
Java 文档提供了大量关于如何以更好的方式编写代码的详细信息。
我的建议是:
使用正确的命名约定:
在您的代码中,我可以看到一些代码异味,变量 test 和 test2 可能是给其他程序员带来麻烦的主要原因。
尝试制作模块:
制作模块还可以使代码易于理解。例如,从长代码中创建可能的方法并正确命名它们。我的老师曾经告诉我:“如果你不能命名一个方法或为你的方法想一个合适的名字,那就意味着你做错了”
评论被认为很重要,但我认为好的书面代码不要依赖于 cmets。您可以添加它们来解释什么是复杂的。
适当的缩进也很重要。
【讨论】:
以上是关于如何保持代码整洁有序? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章