这可能是一个导致删除的主观问题,但我真的希望得到一些反馈。
最近,我转到了另一个非常大的企业项目,在那里我是一名开发人员。令我震惊的是,我发现项目中的大多数类都有8K到50K行的长度,而方法的长度是1K到8K行。它主要是处理DB表和数据管理的业务逻辑,充满了处理用例的条件语句。
这么大的类在大型企业系统中很常见吗?我意识到不看代码就很难做出决定,但是你有没有在有这么大类的系统上工作过?
发布于 2010-12-27 05:13:52
以下是JDK6中最大的10个类(共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行长度的类。
发布于 2010-12-27 04:49:42
这绝对是不对的。一个方法所包含的代码不应该超过单个工作单元所需的代码。一个类包含的方法不应该比那些与类实例的状态相关的方法多。
这太像God Object anti-pattern了。我个人会放弃这个项目,寻找另一个项目。
发布于 2010-12-27 04:49:17
不看代码,实际上仍然很容易做出决定。一个类永远不应该是40K行,一个方法也不应该是1K行。通常,如果我不能在一张纸上打印出一个方法并同时看到开始和结束括号,我会找到一种方法来拆分它。
我想问一下,他们到底是在使用OOP原则,还是在尝试将Java更多地用作函数式或过程性语言?我无法想象一个真正的OOP项目有一个40K的line类。
https://stackoverflow.com/questions/4535337
复制相似问题