4.4 KiB
slug | sidebar_position |
---|---|
/styleguide/ | 10 |
Стайлгайд
Это официальный стайлгайд Task для Taskfile.yml
файлов. Это руководство содержит некоторые базовые инструкции для того, чтобы ваш Taskfile был чистым и понятен другим пользователям.
Этот стайлгайд содержит общие рекомендации по написанию кода, но не обязательно требует их строгого соблюдения. Можете не соглашаться с правилами и использовать другой подход, если вам это нужно или хотите это сделать. Кроме того, не стесняйтесь создавать Issue или PR с улучшениями этого гида.
Используйте Taskfile.yml
вместо taskfile.yml
# bad
taskfile.yml
# good
Taskfile.yml
Это особенно важно для пользователей Linux. У Windows и macOS нечувствительные файловые системы, поэтому taskfile.yml
в конечном итоге будет работать, даже если официально не поддерживается. В Linux только будет работать Taskfile.yml
.
Используйте правильный порядок ключевых слов
version:
includes:
- Конфигурационные параметры, такие как
output:
,silent:
,method:
иrun:
vars:
env:
,dotenv:
tasks:
Используйте 2 пробела для отступа
Это наиболее распространенное соглашение для YAML-файлов, и Task следует ему.
# bad
tasks:
foo:
cmds:
- echo 'foo'
# good
tasks:
foo:
cmds:
- echo 'foo'
Разделяйте основные секции пробелами
# bad
version: '3'
includes:
docker: ./docker/Taskfile.yml
output: prefixed
vars:
FOO: bar
env:
BAR: baz
tasks:
# ...
# good
version: '3'
includes:
docker: ./docker/Taskfile.yml
output: prefixed
vars:
FOO: bar
env:
BAR: baz
tasks:
# ...
Добавляйте пробелы между задачами
# bad
version: '3'
tasks:
foo:
cmds:
- echo 'foo'
bar:
cmds:
- echo 'bar'
baz:
cmds:
- echo 'baz'
# good
version: '3'
tasks:
foo:
cmds:
- echo 'foo'
bar:
cmds:
- echo 'bar'
baz:
cmds:
- echo 'baz'
Используйте имена переменных в верхнем регистре
# bad
version: '3'
vars:
binary_name: myapp
tasks:
build:
cmds:
- go build -o {{.binary_name}} .
# good
version: '3'
vars:
BINARY_NAME: myapp
tasks:
build:
cmds:
- go build -o {{.BINARY_NAME}} .
Не заключайте переменные в пробелы при использовании их в шаблонах
# bad
version: '3'
tasks:
greet:
cmds:
- echo '{{ .MESSAGE }}'
# good
version: '3'
tasks:
greet:
cmds:
- echo '{{.MESSAGE}}'
Большинство людей использует это соглашение и для любых шаблонов в Go.
Разделяйте слова в названии задач дефисом
# bad
version: '3'
tasks:
do_something_fancy:
cmds:
- echo 'Do something'
# good
version: '3'
tasks:
do-something-fancy:
cmds:
- echo 'Do something'
Используйте двоеточие для неймспейсов в названиях задач
# good
version: '3'
tasks:
docker:build:
cmds:
- docker ...
docker:run:
cmds:
- docker-compose ...
Это также происходит автоматически при использовании включенных Taskfiles.
Prefer external scripts over complex multi-line commands
# bad
version: '3'
tasks:
build:
cmds:
- |
for i in $(seq 1 10); do
echo $i
echo "some other complex logic"
done'
# good
version: '3'
tasks:
build:
cmds:
- ./scripts/my_complex_script.sh