# 일반 코딩 가이드라인 ## 언어 사용자에게 보여지는 텍스트에는 영국식 영어가 선호됩니다. 이 텍스트는 번역을 위해 표시되어야 합니다 (예: `django.utils.translation.gettext` 함수와 `{% translate %}` 템플릿 태그 사용). 그러나 코드 내의 식별자는 영국식 또는 국제식 철자가 내장 언어 키워드와 충돌할 경우 미국식 영어를 사용해야 합니다. 예를 들어, CSS 코드는 `background-color: $colour-red` 와 같은 불일치를 피하기 위해 일관되게 `color` 철자를 사용해야 합니다. 미국식 영어는 문서를 작성할 때도 선호되는 철자 스타일입니다. 문서 작성 스타일에 대한 자세한 내용은 [](writing_style_guide)에서 확인하세요. ## 파일 이름 실용적인 경우, 추가된 폴더 내의 기존 파일 이름 규칙을 준수하려고 노력하세요. 예시: - Django 템플릿 - `lower_snake_case.html` - 문서 - `lower_snake_case.md` ## 이름 규칙 ### Python / HTML 템플릿 태그 변수에 `classname` 사용 `classname` 은 HTML 클래스를 출력해야 하는 모든 API / 인터페이스 또는 Django 템플릿 변수에 선호됩니다. #### Django 템플릿 태그 템플릿 태그 정의 예시 ```python @register.inclusion_tag("wagtailadmin/shared/dialog/dialog_toggle.html") def dialog_toggle(dialog_id, classname="", text=None): return { "classname": classname, "text": text, } ``` 템플릿 예시 ```html+django {% comment "text/markdown" %} 이 템플릿에서 허용하는 변수: - `classname` - {string?} 존재하는 경우, 버튼에 classname을 추가합니다 - `dialog_id` - {string} 트리거될 모달을 참조하는 데 사용할 고유 ID {% endcomment %} ``` 사용 예시 ```html+django {% dialog_toggle classname='button button-primary' %} ``` ### Python / Django 클래스 기반 콘텐츠 ```python 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` | ❌ 새 코드에는 사용을 피하세요. |