2015-05-08 5 views
0

Я пришел к вопросу: что является наиболее предпочтительным способом размещения методов? Я имею в виду, должен сначала объявить статические методы, затем конструкторы, затем общедоступные методы, затем защищенные, затем частные и т. Д.? Существует какое-то соглашение, как я предполагаю, все помещают поля (переменные экземпляра) поверх кода. Существует ли та же политика в отношении методов?Java: место конструкторов, статические методы, общедоступные методы, частные?

Я думаю, это зависит от языка, который вы используете. Как насчет Java?

+1

Порядок в Java не имеет отношения к делу, если они есть. – Stultuske

+0

Просто будьте последовательны. Попросите остальных членов вашей команды, если вы будете следовать некоторым соглашениям. Если нет, или если вы сами пишете код, выберите соглашение по вашему выбору (например, официальную конвенцию Java Code от Oracle) и придерживайтесь его. – aioobe

ответ

1

Это сводится к команде предпочтение, но это всегда хорошо, чтобы следовать convention

4

Это несколько основано мнение, но документ Google Java Стиль ставит это красиво:

Упорядочение членов класса может иметь большое влияние на обучаемость, но нет единого правильного рецепта того, как это сделать. Различные классы могут упорядочить своих членов по-разному.

Важно, чтобы каждый класс упорядочил своих членов в некотором логическом порядке, который его сопровождающий мог объяснить, если его спросили. Например, новые методы не просто привычно добавляются в конец класса, так как это приведет к упорядочиванию «хронологической по дате добавления», что не является логическим порядком.

https://google-styleguide.googlecode.com/svn/trunk/javaguide.html#s3.4.2-class-member-ordering

Большая часть кода я вижу в мире открытого исходного кода использует некоторые вариации

  • статических полей
  • экземпляра поля
  • застройщиками
  • методы (экземпляр и статические)
  • анонимные классы
0

Говоря о выполнении, JVM гарантирует заказ, который мы не можем изменить.

Но с точки зрения удобочитаемости кода, ДА упорядочение действительно хорошо. Следующим стандартам кодирования является то, что следует делать.

Статические поля -> экземпляра поля/переменные

Как мы знаем, Static Block всегда вызывается после загрузки класса, поэтому мы должны иметь его.

Тогда constructors, для создания объекта, нет смысла писать конструктор в конце.

также хорошо прочитано here как предложено выше.

+0

Да, я говорю исключительно о читаемости. Место декларации не имеет значения для переменных и методов, поскольку у Java нет проблемы «прямой ссылки» в объявлении класса. – t3rmin41

Смежные вопросы