gpt4 book ai didi

java - Java 中的私有(private)辅助方法与公共(public)静态实用程序方法

转载 作者:IT老高 更新时间:2023-10-28 13:46:39 26 4
gpt4 key购买 nike

我有一个越来越长的 Java 类。当我通过代码质量工具运行它时,我被标记为类中的行数。

这是一个低层类,由上层使用 Spring's @Autowired。该类有很多非静态的私有(private)实例方法。他们不使用任何实例字段,只处理方法参数。

我可以安全地将这些方法作为 public static 移动到某个单独的实用程序类中吗?有什么缺点?

最佳答案

这里是“错误”的心态。

你不会因为工具提示这个或那个而重做你的类(class)。

您想提高源代码的质量;这些工具可以帮助确定“值得思考的话题”。您将他们的反馈视为提示;不是“命令”。

因此,您不必担心类(class)中的“代码行”。相反,您担心这个类的职责。含义:行号计数本身不是问题 - 但违反 Single Responsibility Principle是。

因此:您退后一步,看看您的类(class)到底在做什么。当它明显做不止一件事时,你将这些方面提取到其他类中!

含义:如果你真的发现所有这些代码“属于”那个类的职责;然后把它放在那里。不要开始将内部实现细节放入不相关的辅助类中;只是因为某些工具会警告您有关行数的信息。

另一方面,将私有(private)方法转换为静态/包保护的方法可以让您对这些方法进行单元测试。这可能是一个优势。但如前所述:只要我们在谈论实现细节,它们就应该保持私密;而且它们不应该进行单元测试。

长篇代码:了解并理解什么是“干净的代码”;并尝试遵循那里概述的想法。

关于java - Java 中的私有(private)辅助方法与公共(public)静态实用程序方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44798593/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com