Доводилось ли Вам писать код, который разбирает аргументы, переданные программе в командной строке? Думаю, ответ - да. Одни программисты предпочитают использовать специализированные инструменты, такие как Boost.Program_options в С++, или Commons CLI в Java. Другие же разработчики неустанно пишут свои собственные "парсеры" аргументов командной строки.

Что мы имеем в итоге? Если в компании программисты трудятся на разных языках, то скорее всего они будут использовать разные подходы к решению данной задачи. Хорошо если выработано общее соглашение о том, в каком виде программы должны принимать аргументы. Например, как выглядит короткая (-h) и полная (--help) форма для настройки,  какие ключи за что отвечают, и так далее. Такие требования не всегда существуют, как и документация по допустимым параметрам запуска. Реализации "парсеров" ведут себя по-разному, и не всегда хорошо написаны. Беспорядок и неразбериха...

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