Каковы ваши правила Java? - PullRequest
6 голосов
/ 08 октября 2008

Я изучаю Java, и мне интересно, каковы все правила Java. Правила, которые вы знаете по своей сути, и если вы видите, что кто-то нарушает их, вы пытаетесь их исправить. Вещи, которые помогут вам избежать неприятностей или помогут улучшить ситуацию. Вещи, которые вы никогда не должны делать. То, что вы всегда должны делать. Правила, которые новичок не знал бы.

Ответы [ 22 ]

3 голосов
/ 08 октября 2008

Вещи, которые вы всегда должны делать.

Прочитайте спецификацию языка Java. Это очень хорошо окупается, если у вас есть знания хотя бы на одном другом языке ООП.

2 голосов
/ 08 октября 2008

Используйте и понимайте Java Collection Framework.

Используйте класс ArrayList вместо Vector. Используйте HashMap вместо Hashtable.

Для синхронизированного доступа используйте служебный класс Collections.

Используйте Hashtable и Vector только в том случае, если вам действительно нужно кодировать против какого-либо устаревшего API.

2 голосов
/ 08 октября 2008

Если вы обнаружите, что используете наследование вместо состав , вы, вероятно, ошибаетесь.

2 голосов
/ 08 октября 2008

Будьте либеральны в том, что вы принимаете, и в том, что вы возвращаете.

Например, возьмите метод общего назначения со следующей подписью:

public void doXY(LinkedList widgets)

С этой подписью клиенты не могут использовать ваш метод общего назначения с другим типом Lists или даже Set. Тип входного параметра часто можно расширить, чтобы сделать метод более гибким в использовании, e. g.:

public void doXY(Collection widgets)

2 голосов
/ 08 октября 2008
  • Держите ваш код в чистоте (отступ), с комментариями и четкими именами переменных. Это поможет вам прочитать / отредактировать ваш код позже. Это также поможет другим прочитать ваш код.

  • Создание объектов, где это применимо.

  • Убедитесь в эффективности вашего кода, не повторяйте код (без копирования + вставки mkay?

2 голосов
/ 08 октября 2008

Отличный набор советов!

Посмотрим, что я не видел упомянутого ..

используйте много маленьких классов. Каждый класс должен делать одну вещь хорошо. Я никогда не видел слишком много классов, практически всегда слишком мало.

Прочитайте книгу «Рефакторинг» - в разделе «Запахи плохого кода» перечислено много вещей, на которые стоит обратить внимание.

Самыми большими указателями, которые вы делаете OO неправильно, является множество сеттеров и геттеров, желание использовать оператор switch и большое дерево наследования, но есть много других (ваш вопрос не был OO, но достаточно близок).

Не инициализируйте локальные переменные по привычке (String s = null;), иначе компилятор не сможет уловить эту проблему:

String s;
if(x == 5)
    s="5";

if(y == 5) 
    s.append("5"); // Compiler will tell you s might not have been assigned
                   // UNLESS your first line was "String s=null"

Изучите Javadocs. Просто привыкните использовать их, они не такие сложные.

Используйте Eclipse или NetBeans. Включите проверку ошибок. Обратите внимание на ошибки. Некоторые из них, которые вы можете решить, не важны, но многие помогут.

Если вы работаете в Swing, узнайте о потоке событий - продолжайте, иначе ваш графический интерфейс будет выглядеть как дерьмо.

В SDK есть несколько УДИВИТЕЛЬНЫХ библиотек. Многим программистам не хватает расширенного управления потоками, справочных классов, NIO и рефлексии - и это лишь поверхностное представление.

Тем не менее, не злоупотребляйте рефлексией - это может усложнить поддержку вашего кода - просто знайте, что он есть и что он может делать.

Не обнуляйте переменные для освобождения памяти - это практически никогда не полезно и заставляет вас выглядеть так, будто вы не понимаете сборку мусора. Еще глупее сделать это методом финализации.

Хмм, пока мы там - не используйте методы финализации. Когда-либо. Если вам нужно очистить внешний ресурс, найдите справочные классы (WeakReference).

2 голосов
/ 08 октября 2008

На мой взгляд, самые важные вещи:

  1. Форматирование: я не могу понять код с плохим форматом.
  2. Хорошее наименование: хорошее соглашение об именах - первый шаг к хорошему коду.
  3. Документация: всегда пишите документацию о том, что такое код и почему это делается таким образом
  4. Не повторяйте код
  5. Используйте технику, упомянутую в "Эффективной Java". Эта книга содержит очень полезные рекомендации.
1 голос
/ 04 сентября 2012

Другая хорошая книга по этому вопросу - Роберт С. Мартинс Чистый код .

Содержит общие правила кодирования и руководства для Java, но большинство из них могут быть применены и к другим языкам.

Я думаю, что разработчик, который читает эту книгу, создает гораздо более читаемый и поддерживаемый код.

1 голос
/ 15 марта 2011
  1. Всегда используйте понятные названия для properties и methods.

  2. Comment только тогда, когда это необходимо.

1 голос
/ 11 ноября 2008

Code Complete от Стивена Макконнела есть много полезных советов, не только для программирования на Java, но и для программирования в целом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...