В принципе, вы хотите, чтобы ваш проект работал «из коробки». Когда люди выбирают правильный проект с открытым исходным кодом для задачи, они загружают кучу проектов, которые говорят, что поддерживают эту задачу, и используют лучший. Если для проекта требуется значительная работа по настройке (например, загрузка 20 JAR-зависимостей из 20 разных сайтов), большинство людей будут либо пытаться использовать это как последнее средство, либо просто игнорировать его.
Repository: Вы можете попробовать новый репозитарий двигатель - как Mercurial или Git. Они облегчают развитие и облегчают слияние филиалов. Важно отметить, что выберите двигатель, который поддерживается вашей средой.
Зависимости: Вы должны использовать риде для государственных зависимостей, но этого не достаточно, либо использовать Maven для управления зависимостями, в этом случае вам просто нужно включить pom.xml
файл, или включать в себя JARs, что вы в зависимости от вашего распределения. Во втором случае делят зависимости на mandatory
, optional
, compiletime
и test
. Примером дополнительной зависимости являются инструменты генерации байт-кода для Hibernate.
Сайт: Maven может create a site, связанный с конкретной версией вашего программного обеспечения (никогда не использовал это).
Documenation - JavaDoc: Документ все, и попытаться провести в жизнь политику, которая обеспечивает высокое качество Javadocs:
/**
* Sets the cost
* @param decimal cost
*/
public void setCost(BigDecimal decimal){
бесполезно. Лучше:
/**
* Sets the cost, cost is in currency setted by #setCurrency.
* @param decimal cost, precision shoule be at least three places
*/
public void setCost(BigDecimal decimal){
Документация: Javadoc не достаточно. Дайте некоторую отправную точку - предпочтительный учебник (и я не имею в виду учебник со многими скриншотами диалогов eclipse;)). Пример кода тоже в порядке или, по крайней мере, где-то писать - «Чтение javadoc класса EntryPoint
- хороший способ начать использование этой библиотеки». Если у вас есть только javadocs, любой, кто рассматривает возможность использования вашей библиотеки, будет представлен список всех кланов и пакетов и не будет знать, с чего начать.
Bugtracking Software: Вы не будете помнить больше о трех ошибках за раз (и забудете о них) - также это поможет вам управлять задачами и новыми желаемыми функциями. Вы можете попробовать:
- FogBugz - его хорошо, но стоит денег. (Бесплатно для двух разработчиков).
- Bugzilla - красивый, популярный и бесплатный
Программное обеспечение для управления проектами: Это поможет вам рассчитать даты выпуска, отделенные задачи между разработчиками и т.д.
Попробуйте пройти Joel test
процесс сборки: Сделайте процесс сборки одним щелчком мыши. Например, скрипт ant, который увеличивает номер версии, запускает maven-сборки, развертывает сайт и так далее. Стоит усилий!
: Хорошая идея, поможет поддержать.
Wiki: Во многих (даже вполне развитых) проектах такие вики довольно пустые, что плохо (поскольку люди задумываются о том, как это может быть отличным программным обеспечением, если в этой вики не написано).
примечания разработчика от комментариев разработчиков бесполезны. Они бессмысленны, если вы не разработчик. Если да, то система SCM должна сообщить вам информацию. –