首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我正在维护一个40K行的Java类。有问题吗?

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

Stack Overflow用户
提问于 2010-12-27 04:41:38
回答 12查看 3.9K关注 0票数 23

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

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

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

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2010-12-27 05:13:52

以下是JDK6中最大的10个类(共7209个.java文件)。这些类包含大量的注释,这些注释可能比代码更长。

代码语言:javascript
复制
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行长度的类。

票数 37
EN

Stack Overflow用户

发布于 2010-12-27 04:49:42

这绝对是不对的。一个方法所包含的代码不应该超过单个工作单元所需的代码。一个类包含的方法不应该比那些与类实例的状态相关的方法多。

这太像God Object anti-pattern了。我个人会放弃这个项目,寻找另一个项目。

票数 14
EN

Stack Overflow用户

发布于 2010-12-27 04:49:17

不看代码,实际上仍然很容易做出决定。一个类永远不应该是40K行,一个方法也不应该是1K行。通常,如果我不能在一张纸上打印出一个方法并同时看到开始和结束括号,我会找到一种方法来拆分它。

我想问一下,他们到底是在使用OOP原则,还是在尝试将Java更多地用作函数式或过程性语言?我无法想象一个真正的OOP项目有一个40K的line类。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4535337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档