1. Резюме
Я не понимаю, зачем мне правило E010 bashate .
2. Детали
Я использую Bashate для Linting .sh
файлов. Правило E010:
делать не на той же линии, что и для
for
bashate:
Правильный:
#!/bin/bash for f in bash/*.sh; do sashacommand "$f" done
Ошибка:
#!/bin/bash for f in bash/*.sh do sashacommand "$f" done
Есть ли веские аргументы, зачем мне for
и do
в одну строчку?
3. Не полезно
Я не могу найти ответ на свой вопрос в:
- Статьи о лучших практиках кодирования ( пример )
Bashate документация . Я нахожу только :
Набор правил, которые помогают поддерживать последовательность в блоках управления. Они игнорируются на длинных очередях, которые имеют продолжение, потому что развертывание, которое является «интересным»
bashate
это проверка стиля Стили по своей природе субъективны. Не используйте его, если вам не нравится стиль, который он навязывает. Вместо этого вы должны рассмотреть синтаксис / проверку ошибок как shellcheck .
E010
- только стиль правило или в некоторых случаях мне нужно для и сделать в одной и той же линии , не только по причинам стиля.
do
. Это как отступы открывающей фигурной скобки if
и добавить код на ту же строку в языке , как C. Другого примера, если питон позволил это, было бы поставив :
в if
отступе на следующую строке и добавление кода на ту же строку. Это будет отличать его от дополнительных линий в теле.
do
, безусловно, немного необычны, ноfor ... \ndo\n<indent>body...
чрезвычайно распространены, и я бы даже оценил больше, чемfor ... ; do
. Это также жалуется на это?