2010-04-28 2 views
8

Как вы держите себя в кодировке по стандартам? Существует stylecop и resharper для C#. Существуют ли какие-либо инструменты/плагины для eclipse для анализа кода в Java? Какие из них вы используете?Стиль кодирования Java

ответ

11

Checkstyle является инструментом развития, чтобы помочь программистам писать Java-код, который придерживается стандарта кодирования. Он автоматизирует процесс проверки кода Java, чтобы избавить людей от этой скучной (но важной) задачи. Это делает его идеальным для проектов, которые хотят внедрить стандарт кодирования. Checkstyle очень настраиваемый и может быть выполнен для поддержки практически любого стандарта кодирования. Приведен пример файла конфигурации, поддерживающего соглашения о кодах Sun. Кроме того, другие примеры файлов конфигурации поставляются для других известных конвенций.

PMD интегрирован с JDeveloper, Eclipse, JEdit, JBuilder, BlueJ, CodeGuide, NetBeans/Sun Java Studio Enterprise/Creator, IntelliJ IDEA, TextPad, Maven, Ant, Gel, JCreator и Emacs.

FindBugs использует статический анализ для проверки Java байт-код для вхождения шаблонов ошибок. Статический анализ означает, что FindBugs может обнаруживать ошибки, просто проверяя код программы: выполнение программы не требуется. Это делает FindBugs очень простым в использовании: в общем, вы должны иметь возможность использовать его для поиска ошибок в вашем коде в течение нескольких минут после его загрузки. FindBugs работает, анализируя байт-код Java (скомпилированные файлы классов), поэтому вам даже не нужен исходный код программы для его использования. Поскольку его анализ иногда является неточным, FindBugs может сообщать о ложных предупреждениях, которые являются предупреждениями, которые не указывают на реальные ошибки. На практике количество ложных предупреждений, зарегистрированных FindBugs, составляет менее 50%.

+0

PMD интегрирован в jDeveloper, вам нужно «активировать» его? Он работает по умолчанию? NM- Я просто посмотрел на http://pmd.sourceforge.net/integrations.html, и похоже, что его нужно установить, а затем активировать. Я думал, что он встроен. – ProfessionalAmateur

4

Использую Checkstyle, чтобы убедиться, что код соответствует определенным правилам. Checkstyle также доступен как plugin for Eclipse.

+0

Ссылка не работает, чтобы проверить и попытаться настроить в Eclipse, а также – gmhk

+0

Обе ссылки работают для меня. Если есть проблема с установкой плагина на вашем компьютере, это не моя ошибка. Так почему же downvote? – Ham

2

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

+0

Как вы можете быть уверены, что каждый человек в вашей команде знает о кодовых условностях? – folone

+0

@folone, когда @Tim Hawtin - tackline запускает код своей команды через Checkstyle, это, без сомнения, 100% идеально подходит каждый раз. Хотел бы я сказать то же самое для моего кода. –

+0

Существует философия развития, согласно которой человек никогда не должен делать то, что может сделать компьютер. Да, при написании кода он придерживается условностей в 95% случаев. Я теперь трачу час на поиск этих последних 5%, или просто использую инструмент, например «jalopy» или форматирование eclipse, чтобы сделать это для меня. Я дам вам одну догадку. – bgiles

0

Мы используем Checkstyle в моей компании, но только для проверок javadoc.

Хорошо, что вы можете настроить различные модули, чтобы включать в себя материал для проверки, а также на каких уровнях (как в защищенных, общедоступных, частных и т. Д.).

Хедз-ап - это то, что для проверки javadoc вам необходимо явно указать, разрешен ли метод throw за несколькими исключениями. Это происходит потому, что создатели считают, что у плохого дизайна есть метод, бросающий более одного исключения (они, другими словами, пытаются контролировать дизайн, а не связанные с ним).

5

Checkstyle и FindBugs и PMD. Последние два гораздо больше, чем просто инструменты стиля. Но, как правило, необходимо прилагать определенные усилия, чтобы получить согласие между членами команды и, а также для настройки инструмента.

0

Имея документ стандартов кодирования, который распространяется среди всех разработчиков в команде/отделе/​​организации, является хорошим началом.

+1

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

+0

Его использование должно быть санкционировано. Если вы хотите иметь стандарт кодирования, вам нужно каким-то образом описать этот стандарт и политику, чтобы гарантировать, что все придерживаются стандарта. У вашего стандарта кодирования не должно быть много небольших изменений, внесенных в него либо после опубликования. Я нашел лучший способ заключить соглашение высокого уровня об основных стандартах кодирования (например, читаемость и ясность) и не слишком беспокоиться о мелочах размещения кронштейнов и т. Д. YMMV. Очевидно, что младшим разработчикам нужно больше руководства, чем более опытные. – t0ne

4

В дополнение к вышесказанному, Jalopy - хороший инструмент для форматирования кода.

0

Предупреждения компилятора eclipse и форматирующий код делают работу для нас. Хотя я знаю, что checkstyle делает немного более семантическую проверку для фактического дизайна кода, а не просто закладывает его разумно.

4

Вы можете взглянуть на Sonar. Это проект с открытым исходным кодом, который действительно упрощает выполнение Checkstyle, PMD и Findbugs.

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