2016-06-16 2 views
2

Я делаю java-программу, и я использую вход args много. Я не хочу, чтобы основная функция была очень большой, поэтому я блуждал, если было хорошей практикой хранить аргументы глобальной переменной static String, чтобы я мог использовать их в функциях.Является ли хорошей практикой хранить аргументы main в глобальной переменной?

+2

Я делаю это все время, я не вижу причин не делать этого. Это может действительно упростить код, если они не меняются, и вы хотите, чтобы они постоянно проходили мимо них, я бы подумал. – gbtimmon

+2

Я бы склонен обрабатывать их в 'main' и хранить результаты в глобальном экземпляре' class', который моделирует аргументы. Затем вы можете выполнить проверку аргументов командной строки в одном месте. (Я использую 'gnu.getopt'). – Bathsheba

+1

Вы также можете использовать файлы свойств вместо параметра 'args'. – Jaims

ответ

2

Это плохая конструкция, обеспечивающая глобальный доступ к аргументам командной строки по той простой причине, что в хорошем дизайне только одна часть вашего кода должна обрабатывать аргументы командной строки: часть, которая анализирует их для их перевода из их входного представления (последовательность строк) в значимую управляющую информацию для вашей программы (логические флаги, списки объектов Path и т. д.).

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