1.1 읽기 쉬운 코들르 만드는 것이 왜 중요한가?
코드는 한번 작성되면 여러번 읽힘 .
나중에 읽는 사람이 훨씬 편해지고, 관리가 쉬워짐
이를 위해서 지켜져야하는 원칙들
축약적이거나 함축적인 변수명은 피한다
함수 인자의 이름들은 꼭 써준다
클래스와 메서드를 문서화한다
코드에 주석을 꼭 달도록 한다
재사용 가능한 함수 또는 메서드 안에서 반복되는 코드들은 리팩터링을 해둔다
함수와 메서드는 가능한 한 작은 크기를 유지한다. 어림잡아 스크롤 없이 읽을 수 있는 길이가 적합하다
적용해볼점:
1) 그냥 변수명 길게 쓰자.
2) 문서화 꼭 하자.
3)주석,,,?흠... 추후에 더 살펴보도록하자.
4) 리팩토링 노력해보자
1.2 pep8
flake8을 이용하도록하자.
1.3 import들
pep8에 따르면
1) 표준라이브러리
2) 연관외부 라이브러리
3) 로컬 애플리케이션 또는 라이브러리에 한정된 임포트
이 책에 따르면
1) 표준라이브러리
2)코어 장고 임포트
3)서드파티
4)프로젝트앱임포트
1.4 명시적 성격의 상대 임포트 사용하기 (explicit relative import)
명시적 상대 임포트:
from .models import WaffleCone
앱의 이름을 변경할 일이 생기거나, 이름이 충돌되는 경우를 피할수 있다.
재사용하는 경우 바로 사용할 수 있게됨.
anti-pattern
from cones.models ~~
from models import ~~ (implicit relative import 이것도 안티패턴임.)
1.5 import *은 피하자
이유: 다른 python module의 namespace들이 우리가 작업하는 module의 namespace에 추가로딩되거나, 기존것에 덮여쓰이는일이 발생할 수있다.
1.6 장고 코딩 스타일
https://docs.djangoproject.com/en/4.0/internals/contributing/writing-code/coding-style/
Coding style | Django documentation | Django
Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate
docs.djangoproject.com
이것을 따르도록하자.
1.6.2
(이 파트는 Two scoops of Django 3.x 영어판을 참고함)
실제 매핑되는 url은 대시를 써도된다.( Dashes in actual URLs are fine (e.g. route = ’add-topping/’ )
#안티패턴
patterns = [
path(route='add/',
view=views.add_topping,
name='add-topping'),
]
#good pattern
patterns = [
path(route='add/',
view=views.add_topping,
name='toppings:add_topping'),
]
1.8 통합개발환경이나 텍스트 편집기에 종속되는 스타일의 코딩은 지양한다.
(다른 에디터를 쓰는 사람들도 있기 때문.)