tgoop.com/dev_easy_notes/250
Last Update:
Я сейчас работаю в команде инфры и большая часть задач у меня связана с тем, чтобы другим разработчикам было удобно пилить фичи. За последние пару месяцев я в основном занимался разработкой cli инструментов.
У большинства CLI программ всегда есть два варианта как передать ключи короткий "-o" и длинный "--output". Ну так вот, сделал я CLI который в 90% случаев будет вызываться только на CI. И я подумал, ну хорошая же идея прописать ключи одной буквой, будет очень минималистично, удобно и в одну строку.
Вот что получилось в итоге:java -jar /tia-cli.jar report -t $BRANCH_NAME -o ./tia-git -b tia-coverage -a $REF_NAME
очень понятно не правда ли?
Благо до меня сразу же дошло, что человек который после меня полезет это редактировать с ума сойдет, чтобы что-то тут поменять. Ему придется как минимум или найти доку этой проги или скачать ее себе локально и вызывать с флагом -h. Пытаясь уместить команду в одну строку, я создал гемморой другому разработчику на ровном месте. Это же и не загуглишь никак и выглядит как что-то на эльфийском.
А теперь второй вариант:java -jar /tia-cli.jar report \
--output-dir=./tia-git \
--auto-fetch \
--bucket=sme-android-tia-coverage \
--target-branch=$BRANCH_NAME \
$REF_NAME
Теперь даже если вы вообще не знаете что делает эта CLI стало в разы понятнее хотя бы примерно какой ключ за что отвечает.
Поэтому совет в общих скриптах, CI и т.д. всегда используйте длинные версии ключей. Берегите нервы других разрабов. Короткие версии используйте только если запускаете программу локально.
BY Dev Easy Notes
Share with your friend now:
tgoop.com/dev_easy_notes/250