728x90

1. 코딩스타일

1-1. 읽기 쉬운 코드를 만드는것이 왜 중요한가

- 코드의 특서은 한번 작성되면 여러번 읽힌다. 몇 분에서 몇십년 뒤까지 재활용될수가 있는데 이것을 이곳저곳 막 만들어두면 언젠가 이를 참고하고 수정하기는 더더욱 어려워지기 대문에 처음 코드를 만들때 읽기 쉬운 코드를 만들어야한다.

-어떻게 읽기 쉽게 만드는가?

- 축약적이거나 함축적인 변수명은 피한다.

- 함수 인자의 이름들은 꼭 써준다.

- 클래스와 메서드를 문서화한다.

- 코드에 주석은 꼭 달도록 한다.

- 여러 함수 내에서 반복되는 코드들을 리팩토링해서 반복을 최소화한다.

- 함수와 메서드는 가능한한 작은 크기를 유지한다.

 

1-2. PEP8

- 파이썬 공식 스타일 가이드은 PEP8을 여러번 읽어보며 스타일을 맞추기 위해 최대한 노력한다.

- 만약 이미 다른 관례를 따르고 있는 프로젝트는 함부로 바꾸지 않도록 해야한다.

 

1-3. import *은 피하자

- 우리의 코드 대부분은 각 모듈을 개별적으로 임포트해야한다.

from django.forms import *
from django.db.models import *

- 위와 같이 모두를 임포트하지 말고 개별적으로 함수나 클래스를 임포트해야한다.

- 이외에도 표준 PEP8에 임포트 관련한 내용은 많으니 꼭 참고하길 바란다!

 

1-4. 장고 코딩 스타일

- URL 패턴 이름에는 대시(-) 대신 밑줄(_)을 사용한다.

# 잘못된 예시
patterns = [
	url('corin/', index, name='home-index')
]

# 좋은 예시
patterns = [
	url('corin/', index, name='home_index')
]

- 여기서 유의할껀 패턴이름은 엔드포인트 주소가 아닌 django의 name부분이라것이다.

- rest를 따르는 엔드포인트에서는 밑줄이 아닌 대시를 사용하여 명시하여야한다 -> parser renderer와 관련되어 보안이슈가 있었다고 한다.

 

2. 최적화된 장고 환경 꾸미기

2-1. 같은 데이터베이스를 이용해라

- 일반적으로 개발환경은 sqlite3, 배포 즉 실서버환경은 postgresql를 이용하는 경우가 많다.

- 이는 굉장히 위험한 방식으로 물론 sqlite3가 편하긴 하겠지만 다른 종류의 데이터베이스 사이에는 다른 성격의 필드 타입과 제약 조건이 존재한다. 이를 굳이 편하다는 이유만으로 다르게 유지하면 안된다. 반드시 실서버에서 사용하는 데이터베이스를 개발환경에서도 동일하게 사용해줘야한다.

- django orm은 강력하지만 무적이 아니다. 

 

2-2. pip와 virtualenv 사용하기

- 사실상, 현재는 pip와 virtualenv는 관행처럼 사용되고 있다.

- pip는 그렇다치고 virtualenv같은경우, 다른 대안또한 많이 있다 -> 여기서 말하는것을 바로 가상환경을 사용하라는것이다. 가끔가다 로컬 전역에 설치를 해버리는 경우가 있는데 이는 추후 다른 프로젝트를 진행할때 버전관리가 굉장히 꼬여 개발시작전부터 어려움을 겪게 될테니 각프로젝트별 가상환경 및 requirements.txt를 사용하여 사용 라이브러리 버전을 맞춰줘야한다!

728x90

+ Recent posts