-
Notifications
You must be signed in to change notification settings - Fork 3
코드 컨벤션
chea-young edited this page Jul 31, 2022
·
3 revisions
- PHP8 준수하되 Django 공식 문서의 권고사항을 준수하는 규칙사용
-
줄 당 글자 수는 최대 119개 사용하기
- PHP8은 한 줄 당 79글자를 넘지 말라고 하지만 Django는 119 글자를 최대 글자로 선정하기 때문
-
들여쓰기 4칸 공백 사용하기
- 예시
raise AttributeError(
"Here is a multiline error message "
"shortened for clarity."
)
-
'%-formatting', 'f-strings', 'str.format()' 문자열 포맷팅을 상황에 맞게 적절히 활용하기
-
스네이크 케이스 사용하기
-
테스트 dostrings에는 각 테스트에 기대하는 동작 작성하기
def test_foo():
"""
A test docstring looks like this (#123456).
"""
-
임포트를 할 때 각 항목을 그룹짓고 순서 베열하기
-
임포트 구문 사이에는 한줄, 마지막 임포트 구문과 함수 또는 클래스 사이는 두 줄 띄우기
- 중괄호와 태그 내용 사이에는 한 칸 띄우기
{{ foo }}
- class Meta는 필드 정의 뒤에 쓰고 한 줄 띄우기
class Person(models.Model):
first_name = models.CharField(max_length=20)
last_name = models.CharField(max_length=40)
class Meta:
verbose_name_plural = 'people'
- 모델 내부 클래스와 표준 메소드는 다음과 같은 순서로 작성하기
1. All database fields
2. Custom manager attributes
3. class Meta
4. def __str__()
5. def save()
6. def get_absolute_url()
7. Any custom methods
- choices 필드를 정의하다면 모두 대문자로 이루어진 튜플로 정의하기
class MyModel(models.Model):
DIRECTION_UP = 'U'
DIRECTION_DOWN = 'D'
DIRECTION_CHOICES = [
(DIRECTION_UP, 'Up'),
(DIRECTION_DOWN, 'Down'),
]