Was ist der kanonische YAML-Namensstil?


75

Ich entwerfe eine neue YAML-Datei und möchte den Standardstil für die Benennung verwenden. Welches ist es?

Bindestrich?

- job-name:
    ...

Kleinbuchstaben mit Unterzählern?

- job_name:
    ...

CamelCase?

- jobName:
    ...

Antworten:


70

Verwenden Sie den von der umgebenden Software vorgegebenen Standard.

In meinem aktuellen Projekt enthält die YAML-Datei beispielsweise Standardwerte für Python-Attribute. Da die in YAML verwendeten Namen in der zugehörigen Python-API angezeigt werden, ist es klar, dass in diesem speziellen Projekt die YAML-Namen der Python- lower_case_with_underscoresNamenskonvention gemäß PEP-8 entsprechen sollten.

Mein nächstes Projekt hat möglicherweise eine andere vorherrschende Namenskonvention. In diesem Fall verwende ich diese in den zugehörigen YAML-Dateien.


9
YAML ist unabhängig und gehorcht also nichts.
Miraage

3
Ich stimme @Miraage zu. Und was ist aus praktischer Sicht, wenn die "umgebende Software" in mehreren Sprachen geschrieben ist?
Rob Worsnop

3
@RobWorsnop wie er sagte, es ist unabhängig von der Software-Sprache. Sie können den CASE verwenden, den Sie am meisten mögen.
João Elvas

Kann ein yaml Name mit einem Unterstrich beginnen? wie, _jobname__genauer gesagt, ich brauche diese, __version__
Mohd

51

Kubernetes mit CamelCase: https://kubernetes.io/docs/user-guide/jobs/

apiVersion, restartPolicy

CircleCI mit snake_case: https://circleci.com/docs/1.0/configuration/

working_directory restore_cache, store_artifacts

Jenkins mit Dash-Case: https://github.com/jenkinsci/yaml-project-plugin/blob/master/samples/google-cloud-storage/.jenkins.yaml

stapler-class


Es sieht also so aus, als würden Projekte und Teams ihre eigenen Konventionen verwenden, und es gibt keinen bestimmten Standard.



Sie haben Recht, dass es keinen universellen Standard gibt. Ich denke, es ist wichtig darauf hinzuweisen, dass sowohl CircleCI als auch GitLab eine Mischung aus snake_caseund verwenden kebab-case. Vielleicht war es zu dem Zeitpunkt, als die Antwort zum ersten Mal veröffentlicht wurde, nicht der Fall, aber jetzt ist es der Fall. GitHub Actions (einer der neueren yaml-basierten ci-Dienste) verwendet kebab-case(zumindest für alle wichtigen Konfigurationsoptionen).
friederbluemle
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.