我正在维护一个40K行长的Java类。问题?

2022-09-01 21:33:43

这可能是一个导致删除的主观问题,但我真的希望得到一些反馈。

最近,我转到了另一个非常大的企业项目,在那里我担任开发人员。我惊讶地发现,该项目中的大多数类的长度都在8K到50K之间,方法长度为1K到8K行。它主要是处理数据库表和数据管理的业务逻辑,充满了处理用例的条件语句。

如此大的类在大型企业系统中很常见吗?我意识到如果不看代码,就很难做出决定,但是你有没有在一个类这么大的系统上工作过?


答案 1

以下是 JDK 6 中十大类(按行数计算为 7209 .java文件)。这些类包含大量注释,这些注释可能比代码长。

4495 ./javax/sql/rowset/BaseRowSet.java
4649 ./java/awt/Container.java
5025 ./javax/swing/text/JTextComponent.java
5246 ./java/util/regex/Pattern.java
5316 ./javax/swing/JTree.java
5469 ./java/lang/Character.java
5473 ./javax/swing/JComponent.java
9063 ./com/sun/corba/se/impl/logging/ORBUtilSystemException.java
9595 ./javax/swing/JTable.java
9982 ./java/awt/Component.java

我同意一个打印的页面对于一种方法来说足够长。恕我直言,真的不需要超过10K行的课程。


答案 2

这绝对是不对的。方法包含的代码不应超过单个工作单元的足够数量。类包含的方法不应多于与类实例状态相关的方法。

这太像上帝对象的反模式了。我个人会放弃这个项目,寻找另一个项目。


推荐