Що таке канонічний стиль імен YAML


78

Я розробляю новий файл YAML і хочу використовувати найбільш стандартний стиль імен. Що це?

Дефіс?

- job-name:
    ...

нижча_регістра_з_знаками підкреслення?

- job_name:
    ...

CamelCase?

- jobName:
    ...

Відповіді:


73

Використовуйте стандарт, продиктований сусіднім програмним забезпеченням.

Наприклад, у моєму поточному проекті файл YAML містить значення за замовчуванням для атрибутів Python. Оскільки імена, що використовуються в YAML, з'являються у пов'язаному API Python, очевидно, що в цьому конкретному проекті імена YAML повинні відповідати умовам lower_case_with_underscoresіменування Python згідно з PEP-8.

Мій наступний проект може мати іншу переважну конвенцію про іменування, і в цьому випадку я буду використовувати це у пов’язаних файлах YAML.


9
YAML незалежний, тому нічого не підкоряється.
Miraage

3
Я згоден з @Miraage. І, з практичної точки зору, що, якщо «навколишнє програмне забезпечення» написане кількома мовами?
Роб Ворсноп,

3
@RobWorsnop, як він сказав, він не залежить від мови програмного забезпечення. Ви можете використовувати СПРАВУ, яка вам найбільше подобається.
João Elvas

чи може yaml ім'я починатися з підкреслення? як, _jobname__точніше, мені це потрібно, __version__
Мохд,

53

Kubernetes за допомогою CamelCase: https://kubernetes.io/docs/user-guide/jobs/

apiVersion, restartPolicy

CircleCI за допомогою snake_case: https://circleci.com/docs/1.0/configuration/

working_directory restore_cache, store_artifacts

Дженкінс із тире: https://github.com/jenkinsci/yaml-project-plugin/blob/master/samples/google-cloud-storage/.jenkins.yaml

stapler-class


Тож схоже на те, що проекти та команди використовують власні домовленості, і не існує жодного конкретного стандарту.


Додавання: GitLab і анзібль як з використанням snake_case: docs.gitlab.com/ee/ci/yaml github.com/ansible/ansible-examples/blob/master/lamp_simple / ...
backslash112

Ви праві, що не існує універсального стандарту. Я думаю , що важливо зазначити, обидва CircleCI і GitLab використовується суміш з snake_caseі kebab-case. Можливо, це було не так у той час, коли відповідь була опублікована вперше, але це зараз. GitHub Actions (одна з новіших служб ci на основі yaml) використовує kebab-case(принаймні для всіх основних параметрів конфігурації).
friederbluemle
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.