Небольшой Java-проект растет (Maven и Junit) - PullRequest
1 голос
/ 01 октября 2009

Я работаю над растущим проектом Java и, возможно, собираюсь сотрудничать с кем-то еще, чтобы улучшить некоторые функции.

Я бы хотел использовать некоторые инструменты для улучшения качества своей работы, учитывая, что:

  • У меня не так много времени для этого проекта
  • это небольшой проект, но он действительно важен для меня
  • Я не хочу покупать программное / аппаратное обеспечение для него
  • Я уже использую SVN

что вы думаете о мавене и джуните? стоит ли тратить на них время? Вы знаете какой-нибудь другой хороший инструмент?

Ответы [ 6 ]

8 голосов
/ 01 октября 2009

Maven и JUnit хороши для реализации хороших привычек (модульное тестирование, единообразная структура), и вместе с хорошими привычками SCM, я бы сказал, это одни из самых важных вещей для совместной разработки.

5 голосов
/ 01 октября 2009

Поскольку вы не используете JUnit, я думаю, у вас еще нет юнит-тестов. Мне кажется, это самый важный шаг для вас, если другие люди начнут работать над вашим кодом. Без юнит-тестов кто-то может легко нарушить функциональность, не зная об этом.

Создайте набор модульных тестов, которые охватывают не менее 80% кода. Вы можете использовать Cobertura для измерения покрытия кода. Это может показаться большой работой (это так), но сэкономит вам гораздо больше времени в будущем.

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

4 голосов
/ 01 октября 2009

JUnit полезен для проверки вашего кода в любом проекте.

У Maven есть кривая обучения, которую трудно преодолеть. Если у вас есть один модуль и относительно простой набор этапов сборки, вам может оказаться проще использовать Ant.

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

Примеры плагинов Maven, которые могут помочь проверить ваш код:

  • Findbugs (статический анализ возможных ошибок)
  • Checkstyle (применение стандартов кодирования)
  • PMD (более статический анализ)
  • PMD CPD (обнаружение вставки копии)
  • JDepend (циклическая проверка зависимостей и связывание пакетов)
  • Cobertura (покрытие кода)

Если вы заинтересованы в плагинах качества кода, также рассмотрите Sonar , он оборачивает эти плагины и дает вам несколько прикольных отчетов.

Если вас интересует передовая практика, рассмотрите также сервер непрерывной интеграции, Hudson бесплатный и хорошо интегрируется с Maven.

1 голос
/ 01 октября 2009

Мы используем Maven и JUnit в довольно большом проекте и считаем его очень полезным.

Для планирования проекта я настоятельно рекомендую FogBugz . Это лучшая система отслеживания проблем, которую я когда-либо видел, с хорошей поддержкой управления проектами, и бесплатная для команд до 2 человек.

0 голосов
/ 02 октября 2009

Я использовал maven в одном проекте и скучаю по нему. Несмотря на то, что при его настройке и настройке требуются значительные первоначальные инвестиции. Документация XML была устаревшей, когда я работал с ней (возможно, это улучшилось). Как только вы пройдете эту начальную настройку, вы сэкономите время.

Что касается JUnit, это здорово. Используй это.

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

0 голосов
/ 01 октября 2009

Если вы используете Eclipse и SVN, я бы порекомендовал вам взглянуть на Mylyn. Основные концепции очень просты, но они очень помогают при работе в команде. По моему скромному мнению, Maven слишком раздражает для реальной выгоды от этого. Возможно, ant достаточно для ваших задач по развертыванию.

...