일반 코딩 가이드라인

언어

사용자에게 보여지는 텍스트에는 영국식 영어가 선호됩니다. 이 텍스트는 번역을 위해 표시되어야 합니다 (예: django.utils.translation.gettext 함수와 {% translate %} 템플릿 태그 사용). 그러나 코드 내의 식별자는 영국식 또는 국제식 철자가 내장 언어 키워드와 충돌할 경우 미국식 영어를 사용해야 합니다. 예를 들어, CSS 코드는 background-color: $colour-red 와 같은 불일치를 피하기 위해 일관되게 color 철자를 사용해야 합니다. 미국식 영어는 문서를 작성할 때도 선호되는 철자 스타일입니다. 문서 작성 스타일에 대한 자세한 내용은 글쓰기 스타일 가이드에서 확인하세요.

파일 이름

실용적인 경우, 추가된 폴더 내의 기존 파일 이름 규칙을 준수하려고 노력하세요.

예시:

  • Django 템플릿 - lower_snake_case.html

  • 문서 - lower_snake_case.md

이름 규칙

Python / HTML 템플릿 태그 변수에 classname 사용

classname 은 HTML 클래스를 출력해야 하는 모든 API / 인터페이스 또는 Django 템플릿 변수에 선호됩니다.

Django 템플릿 태그

템플릿 태그 정의 예시

@register.inclusion_tag("wagtailadmin/shared/dialog/dialog_toggle.html")
def dialog_toggle(dialog_id, classname="", text=None):
    return {
        "classname": classname,
        "text": text,
    }

템플릿 예시

{% comment "text/markdown" %}

    이 템플릿에서 허용하는 변수:

    - `classname` - {string?} 존재하는 경우, 버튼에 classname을 추가합니다
    - `dialog_id` - {string} 트리거될 모달을 참조하는 데 사용할 고유 ID

{% endcomment %}

<button type="button" class="{{ classname }}" data-a11y-dialog-show="{{ dialog_id }}">
    {{ text }}
</button>

사용 예시

{% dialog_toggle classname='button button-primary' %}

Python / Django 클래스 기반 콘텐츠

class Panel:
    def __init__(self, heading="", classname="", help_text="", base_form_class=None):
        self.heading = heading
        self.classname = classname

세부 정보

규칙

사용법

classname

✅ 모든 새 코드에 선호됩니다.

class

✳️ 일반적인 attrs 와 유사한 딕셔너리의 일부로 사용되는 경우에만 해당되지만, Python의 class 키워드와 충돌하므로 피하세요.

classnames

❌ 새 코드에는 사용을 피하세요.

class_name

❌ 새 코드에는 사용을 피하세요.

class_names

❌ 새 코드에는 사용을 피하세요.

className

❌ 새 코드에는 사용을 피하세요.

classNames

❌ 새 코드에는 사용을 피하세요.