Strongbash
Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Последняя версия Следующая версия справа и слева | ||
соглашения_кода:strongbash [09.04.2018 15:34] admin [strongbash036 todo] |
соглашения_кода:strongbash [02.12.2018 11:43] admin Approved(admin 2018/12/02 11:44) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
===== Соглашение по строгому bash ===== | ===== Соглашение по строгому bash ===== | ||
+ | TODO_OSV возможно выборочно проверять номера из https://github.com/koalaman/shellcheck | ||
===== strongbash001 ===== | ===== strongbash001 ===== | ||
Строка 331: | Строка 332: | ||
exit 0 | exit 0 | ||
</code> | </code> | ||
- | <color #22b14c>Хорошо сделать функцию __exit(), если много exit 0 в программе</color> | + | <color #22b14c>Хорошо сделать функцию</color> <nowiki> |
+ | __exit()</nowiki><color #22b14c>, если много exit 0 в программе</color> | ||
<code bash> | <code bash> | ||
#!/bin/bash | #!/bin/bash | ||
Строка 479: | Строка 481: | ||
- Это усложняет чтение кода и понимание кода, файл сам по себе есть переменная и временная ссылка на него редко оправдана.\\ | - Это усложняет чтение кода и понимание кода, файл сам по себе есть переменная и временная ссылка на него редко оправдана.\\ | ||
- Плохо если приходится искать далеко вверху по коду, что это за переменная, и что там в этом файле.\\ | - Плохо если приходится искать далеко вверху по коду, что это за переменная, и что там в этом файле.\\ | ||
- | - mktemp это тоже плохо так как бессмысленно, если оч надо tt=/tmp/NAME_$((RANDOM)).$$\\ | + | - mktemp это тоже плохо так как бессмысленно, если оч надо <code bash> |
+ | tt=/tmp/NAME_$((RANDOM)).$$ | ||
+ | </code>\\ | ||
- Имя временного файла должно содержать в себе имя исполняемой программы и ее PID обязательно для разбора оставшихся после падения файлов.\\ | - Имя временного файла должно содержать в себе имя исполняемой программы и ее PID обязательно для разбора оставшихся после падения файлов.\\ | ||
- Если файлов останется от падения слишком много, то скрипт не сможет работать тк пиды заполнятся и это нормально мы об этом узнаем. Либо можно сделать rm -f перед работой | - Если файлов останется от падения слишком много, то скрипт не сможет работать тк пиды заполнятся и это нормально мы об этом узнаем. Либо можно сделать rm -f перед работой | ||
Строка 803: | Строка 807: | ||
===== strongbash029 ===== | ===== strongbash029 ===== | ||
- | **Если мы берем stdout от функции мы обязаны прописать в первой строке set -e тк он снимается** | + | **Если мы берем stdout от функции мы обязаны прописать в первой строке Функции set -e тк он снимается** |
+ | |||
===== strongbash030 ===== | ===== strongbash030 ===== | ||
**Нельзя вызывать функцию внутри if fname и fname&& и fname||**\\ | **Нельзя вызывать функцию внутри if fname и fname&& и fname||**\\ | ||
Строка 854: | Строка 860: | ||
или sys:parse_arg "$@" | или sys:parse_arg "$@" | ||
+ | ===== strongbash037 todo ===== | ||
+ | Запрещено использовать echo Без кавычек | ||
+ | <del>echo $tmp</del> | ||
+ | |||
+ | |||
===== TODO добавить в инструкцию как программировать на баше ===== | ===== TODO добавить в инструкцию как программировать на баше ===== | ||
А пока читать коменты в http://opencarbon.ru/правила_разработки:как_надо_делать:разбор_crab_mysqldump2git | А пока читать коменты в http://opencarbon.ru/правила_разработки:как_надо_делать:разбор_crab_mysqldump2git | ||
Строка 876: | Строка 887: | ||
{(rater>id=1|name=Прочитал_соглашения_кода:strongbash|type=vote|trace=user|tracedetails=1)} | {(rater>id=1|name=Прочитал_соглашения_кода:strongbash|type=vote|trace=user|tracedetails=1)} | ||
+ | |||
+ | ~~OWNERAPPROVE~~ | ||