Описание командной строки и не только
На модерации
Отложенный
Вспомнил, тут, как описывается командная строка в программах и решил, пока помню, записать. Хорошие программисты описывали аргументы программной строки следующим образом:
Основная функция программы, версия
имя программы [необязательная опция]<обязательная опция>[ещё одна не всегда нужная опция <у которой обязательно должно быть что-то ещё>]...
А далее следовало развёрнутое описание что как и с чем и почему по каждому аргументу в отдельности. Некоторые программы позволяли углубиться в описание той или иной области указывая её после запроса о помощи. Пример такой заботы можно увидеть в gcc.
Хорошие программисты зарезервировали для просьб о помощи опции -h и --help в идеологически выдержанных системах или /?
в идеологически невыдержанных. Чаще всего, аргументы командной строки разделяются пробелами/табуляцией, но иногда бывают и другие разделители типа знака равенства.
Плохие программисты этого не делали и уже только поэтому являются плохими. Ведь интернет был не всегда. А файлы помощи некоторые "распространители" выкидывали ради экономии места на дискетах/CD/DVD. Некоторые, например LibreOffice, и по сей день продолжают так делать, мотивируя это экономией траффика в Африке и Австралии.
Комментарии
Кстати, вы помните высказывание Фредерика Брукса в "Мифический человеко-месяц"?
"То, что один программист напишет за одну неделю, два программиста напишут через две недели".
Через 20 лет после выхода книжки я дополнил: "... а три - никогда".