【发布时间】:2012-08-01 17:39:37
【问题描述】:
在 C++ 中,我习惯于使用范围解析运算符 (::) 将类拆分为多个文件,但在 java 中,似乎无法在多个文件之间拆分一个类。
我读到类不应超过几百行,但这听起来像是不编写重要应用程序的人的意识形态废话。
我正在编写一个工业 Android 应用程序(不是针对消费者,而是针对使用专业测试和测量设备以及通过蓝牙链接的应用程序的技术人员)并且我的几个 android 活动的长度超过 1000 行,我什至没有接近完成。主要活动超过 6000 行,我希望它会变得更长......它变得非常笨拙,就像我说的,在 C++ 中,我只会在多个源文件中逻辑拆分类,但我想这不是选项在这里。
是否有任何替代方法可以减少我的源文件的长度而不实际剪切代码(这不是一个选项...)?
【问题讨论】:
-
类不超过几百行,虽然不是硬性规定,但很好地表明了良好的设计。我编写了具有数万个类的后端服务器应用程序,我们管理得很好,将其中的 99% 保持在该准则范围内。换句话说,如果您发现这是一个问题,那么您很有可能应该重新设计您的类。
-
也许是我对 java 的缺乏经验,但所有这些代码都与类扩展的 android 活动有关(公共类,无论扩展 Activity...)。很多代码是与 android 活动相关的事件处理程序,我将如何在不同的类之间拆分?我想这真的是我的问题。
-
我想这些事件处理程序本身可以(并且应该)是独立的类。您还可以将大量实用程序代码提取到外部类中(将其视为创建命名空间以对相似或相关的方法进行分组)。
-
嗯...我想我有一些研究要做。我假设与活动相关的所有代码都必须包含在该活动的类中。这个问题可能很幼稚,并且由于我对 Java 和 Android 编程缺乏经验(我来自 C/C++/ASM 固件背景,有点投入到这个项目中,但从中获得了很多乐趣)
标签: java android class android-activity