Я видел несколько похожих вопросов, но никто не ответил на этот вопрос. Для выполнения обзоров Java-кода вы часто смотрите. Вы рекомендуете книги, статьи, инструменты, которые вас больше всего впечатлили.
Обзор кода в Java?
Ответ 1
Прежде всего, получите часть литературы для обзоров кода Fagan: в обзоре кода есть много вещей, которые могут сделать их более эффективными, но не зависят от языка.
После этого я бы поискал следующее:
- Размер класса и метода: большие классы и длинные методы, как правило, более ломкими.
- Можете ли вы сказать, что такое "секрет" класс, то есть вы можете сказать, как он инкапсулирует потенциальное изменение?
- В общем, ищите агрегацию над внедрением интерфейсов и интерфейсы по наследованию.
- Особенно, если вы делаете TDD или дисциплинированное модульное тестирование, ищите интерфейсы для большинства основных классов; это облегчает сборку объектов и изменить позже.
- Javadocs соответствует стандартам.
- Избегайте сложных соединений заявления.
- "Свободные" имена методов, то есть вы
хотите уметь читать методы
как предложения. "если объект
инициализировано "следует читать
if(obj.isInitialized())
". - Комментарии отражают то, что делает код.
- Код делает то, что ожидается.
Ответ 2
Вот неполный список:
- Соблюдение стандартов и рекомендаций (это означает, что для вашего проекта должны быть установлены стандарты кодирования)
- Documenatation. Весь хороший код должен быть документально оформлен.
- повторяющийся код (кандидат на рефакторинг)
- значащие имена переменных
- области переменных и методов (private vs public)
- Использование хороших шаблонов проектирования (если возможно)
- Хорошие тестовые примеры, связанные с кодом. Предпочтительно автоматизированные тестовые примеры (автоматизировать все тестовые примеры непросто, хотя это желательно. Если это так, он должен документировать, как тестировать данную функциональность).
Кроме того, поскольку вы говорили о Java, есть много доступных инструментов, которые позволяют вам анализировать код и проверять чистоту стилей и кода и даже возможные проблемы.
- PMD (http://pmd.sourceforge.net/)
- Checkstyle (http://checkstyle.sourceforge.net/)
- FindBugs (http://findbugs.sourceforge.net/)
Все они могут быть сконфигурированы с автоматическим процессом сборки/непрерывной интеграции и проверять наличие проблем даже до того, как вы просмотрите обзор ручного кода. Я использовал PMD и Checkstyle в своем последнем проекте, и я был приятно удивлен, что многие проблемы были обнаружены и исправлены еще до того, как мы сели за обзор кода.
Вот статья, которую я всегда разделяю с моей командой для просмотра кода. Это просто описывает общие рекомендации, связанные с обзорами кода. http://www.developer.com/java/other/article.php/3579756
Одна вещь, которую следует отметить, - это однократные обзоры кода, которые не очень эффективны. Я лично хотел бы использовать обзоры кода как механизм обучения для других членов команды, чтобы даже понять, над чем работает каждый человек в команде. Это всегда должно быть групповое упражнение. Это позволяет младшим членам некоторая практика некоторых хороших практик.
Ответ 3
Думаю, вам нужно немного больше информации в вашем вопросе. Кроме того, я добавил бы еще несколько тегов, кроме Java. В целом, чем больше деталей вы предоставляете, тем лучше получаете ответы:)
Вот несколько ссылок, которые помогут ответить на ваши вопросы:
http://en.wikipedia.org/wiki/Fagan_inspection
Вот несколько статей, которые могут помочь: - http://www.developer.com/java/other/article.php/3579756- http://today.java.net/pub/a/today/2006/08/17/code-reviews.html- В принципе, я бы Google вокруг и спрашивать о StackOverflow помогает
Возможные инструменты: - https://stackoverflow.com/questions/131153/open-source-code-review-tools-mondrian
Ответ 4
В дополнение к тому, что было сказано, я действительно рекомендую Jupiter, инструмент для проверки кода Eclipse. Хорошо работает, и они исправляют любые ошибки довольно быстро.
Ответ 5
Code Collaborator - это еще один инструмент проверки однорангового кода, и один из них упоминается в других вопросах о просмотре кода.
Фактически, Code Collaborator был признан "правильным ответом" и имеет большинство голосов в вопросе " "Лучшие инструменты для просмотра кода" .
(Да, я работаю для Smart Bear, создателя Code Collaborator.)
Ответ 6
не только для java, но есть веб-инструмент под названием Crucible для просмотра (кода, но может быть применим для других ориентированный на код, а не только на Java).
** раскрытие: я работаю для атласа. *
Ответ 7
В дополнение к приведенным выше ответам мы смотрим на следующие вещи в наших обзорах кода:
- Закрытие всех потоков в блоке finally
- Обработка исключений. Мы предпочитаем использовать Logger для регистрации вместо ex.printStackTrace() в нашей компании
- Удалить неиспользуемые методы/переменные
- Ищите потенциальную причину NullPointerException
Ответ 8
Я использовал как Юпитер, так и Crucible, и я бы рекомендовал Crucible, если у вашего магазина есть требования и условия, такие как:
- Имейте много разных строк кода, которые вы хотите быстро просмотреть.
- Хотите, чтобы у вас было много небольших отзывов, чтобы проверить изменения.
- У разработчиков, работающих удаленно
- У разработчиков, использующих разные IDE
- Ваша команда использует Confluence и Jira. Crucible прекрасно сочетается с двумя инструментами.
- У вас есть бюджет, чтобы тратить деньги на инструмент проверки кода.
Юпитер хорош для маленьких, дисциплинированных команд, использующих Eclipse. Список рассылки является отзывчивым, и лучшая часть - это Юпитер.
Ответ 9
Вы можете использовать AgileReview. Это плагин eclipse для просмотра кода на разных языках, а также Java.