Какие настройки компилятора javac вы ожидаете использовать по умолчанию при использовании библиотеки с открытым исходным кодом? - PullRequest
2 голосов
/ 27 декабря 2010

Недавно я получил отзыв о том, что моя библиотека с открытым исходным кодом jOOQ не поставляется с отладочной информацией. Это была хорошая обратная связь. Я никогда не замечал этого, потому что я никогда не отлаживал двоичные файлы при выполнении интеграционных тестов.

Этот инцидент привел меня к интересному вопросу:

Какие javac настройки и параметры компилятора вы бы выбрали / ожидали по умолчанию при использовании библиотеки с открытым исходным кодом?

Примечание:

  • Я использую ant для сборки, поэтому, пожалуйста, обратитесь к API задачи javac ant .
  • Я знаю , как работают опции. Не надо мне объяснять. Мне любопытно , какие выбрать.
  • Источник доступен для моих пользователей, и результат может быть легко перестроен, так что пользователь может изменить свои настройки, если ему необходимо оптимизировать его для особого случая.
  • РЕДАКТИРОВАТЬ : Я особенно ценю бетон ответы, ссылающиеся на бетон варианты. Я знаю, что ожидается хорошая работа: -)

Ответы [ 2 ]

1 голос
/ 28 декабря 2010

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

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

0 голосов
/ 27 декабря 2010

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

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

...