我有一个很大的类(大约40个方法) ,它是我将作为课程作业提交的包的一部分。目前,这些方法在公用事业/私有事业等方面非常混乱,我想以一种合理的方式对它们进行排序。有什么标准的方法吗?例如,通常字段在方法之前列出,构造函数在其他方法之前列出,getter/setter 最后列出; 剩下的方法呢?
一个类中有40个方法有点多。
将一些功能移动到其他适当命名的类中是否有意义?那就更容易理解了。
当你有更少的时候,以一种自然的阅读顺序列出它们就容易多了。一个常见的范例是按照你需要的顺序列出你需要的 之前或者 之后。
这通常意味着 main()位于顶部或底部。
main()
有些约定首先列出所有的公共方法,然后列出所有的私有方法——这意味着很容易将 API 从实现中分离出来,即使不涉及接口,如果您明白我的意思的话。
另一个想法是将相关的方法分组在一起——这样可以更容易地发现接缝,从而可以将现有的大型类分成几个更小、更有针对性的类。
你在用 Eclipse 吗?如果是这样,我将坚持使用默认的成员排序顺序,因为无论谁读取您的代码,都可能最熟悉这种顺序(尽管它不是我最喜欢的排序顺序)
我的“约定”: 静态在实例之前,公共在私有之前,构造函数在方法之前,但是主方法在底部(如果存在的话)。
不知道是否有普遍接受的标准,但我自己的喜好是;
toString
equals
hashcode
更精确地链接到“代码约定”: “类和接口声明”
类(静态)变量: 首先是公共类变量,然后是 保护,然后是私人。
实例变量: 首先是公共的,然后是受保护的,然后是私有的。
建筑工人
方法: 这些方法应该按功能分组 而不是通过范围或可访问性。例如,私有类方法 可以位于两个公共实例方法之间 更容易阅读和理解代码。
资料来源: https://www.oracle.com/java/technologies/javase/codeconventions-fileorganization.html
此外,Eclipse 还提供了对类成员进行排序的可能性,如果您出于某种原因将它们混淆了:
打开你的类文件,在主菜单中选择“源”,然后选择“排序成员”。
从这里拍摄: Eclipse 中的排序方法