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. Это также жалуется на это?