订购Java方法最常用的方法是什么?

时间:2010-11-12 15:39:12

标签: java methods coding-style

订购Java方法可能是有史以来最不重要的代码风格问题,但我正在尝试开发一种类似于大多数人所做的代码风格。它是迄今为止最流行的方法,首先声明所有字段,然后是所有方法,所以我只会询问方法。

现在我想知道如何订购Java方法。我可以想到两个合理的基本方法:

  1. 按可见性订购方法(即先公开,然后保护,然后私有或反过来)
  2. 按依赖顺序排序方法(即如果方法a()调用方法b(),则尽可能将它们放在一起)
  3. 据我所知,第二种方法似乎更受欢迎。尽管如此,在这两种情况下都存在方向的问题,而且大多数人使用的并不是很清楚。在第二种方法中,您可以在()上方或下方放置一个()。我认为将b()放在a()上面(并最终将main()放在类文件的底部)在C中更常见,不确定C ++。另一种方式是IMO从上到下更好地阅读。 Java中最常用的方法是什么?关于静态字段/方法的任何特殊规则?

5 个答案:

答案 0 :(得分:7)

当我发现“逻辑上”是一个相对术语时,我“逻辑地”放弃了;对于不同的程序员来说,一个程序员的逻辑并不总是合乎逻辑的。如果我必须学习“逻辑排序”的含义,那么它就会失败,成为一种“逻辑分类”的技术。

我更喜欢按字母顺序排列我的方法和数据成员。我认为字母,伪线性搜索是用英语思考的人的“自然”技术。例如,尝试对以下任何内容进行逻辑排序:百科全书,电话簿,联系人电子邮件列表。

反对字母表的经典论据是[用苏联时代的俄语口音说话]“用于alfabet searchz的Ve haf IDE!在kode中是不需要的!”我对这些论点的回答是“是的,斯大林先生。”但并非所有人都使用IDE来查看代码。有些人仍然使用(并且喜欢)vi。我可能不是那些人之一,但我知道他们存在其他人已经了解到,当代码按字母顺序排列时,页面向上和向下翻页键可以很好地工作。“

答案 1 :(得分:1)

我认为在底部添加getter,setter,equals,hashCode和toString非常有用,因为这通常不是开发人员在关注之后所关心的事情。

答案 2 :(得分:0)

我倾向于使用选项1,但是使用一个不错的IDE它并不重要。

答案 3 :(得分:0)

我倾向于使用选项1,但也尝试在逻辑上组织它们 toString在底部简单的东西在顶部,并致力于更专业的方法。

更重要的是你使用正确的JDoc注释格式,然后一个体面的IDE应该能够为你自动生成HTML jdoc,或者你可以使用他们的应用程序。在您有适当的文档后,您的方法顺序不是一个问题。

答案 4 :(得分:0)

我通常更喜欢选项2 - IDE中的类概述显示公共和私有方法,并且自动完成仅显示类的可见方法,但它确实很重要,如@Visage所述。