Bil*_*ory 21 java maintenance legacy-code
这可能是导致删除的主观问题,但我真的想要一些反馈.
最近,我转到另一个非常大的企业项目,在那里我作为开发人员工作.我惊讶地发现项目中的大多数类都是从8K到50K行的长度,方法是1K到8K行.它主要是处理数据库表和数据管理的业务逻辑,充满了处理用例的条件语句.
类在大型企业系统中是否常见?我意识到没有看代码很难做出决定,但是你曾经在一个有这么大的类的系统上工作吗?
Pet*_*rey 37
以下是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
Run Code Online (Sandbox Code Playgroud)
我同意一个打印的页面足够长的方法.真的不应该需要超过10K线路的抄本.
不看代码,实际上很容易做出决定.一个类永远不应该是40K行,永远不应该是一个方法甚至1K.通常情况下,如果我无法在一张纸上打印出方法并看到开始和结束括号,我会找到一种方法将其拆分.
我可能会问,他们是否正在使用OOP原则,或者他们是否尝试将Java更多地用作功能或程序语言?我无法想象一个拥有40K线路级别的真正OOP项目.
哦,我认为这是一个可怕的迹象,我不必看代码就这么说.听起来像需要大量的重构努力.
让我猜一下 - 你也没有对系统进行单元测试.你有同情心.
除了其他答案中描述的软件维护问题之外,请注意编译的Java方法不得超过64k字节的技术限制.(对应的代码行数将取决于行本身.)
http://www.databasesandlife.com/java-method-64k-limit/
| 归档时间: |
|
| 查看次数: |
3542 次 |
| 最近记录: |