반응형
질문
파이썬으로 비단순한 엔드 유저 데스크탑 (웹이 아님) 애플리케이션을 개발하려는 경우, 프로젝트의 폴더 계층 구조를 구성하는 최상의 방법은 무엇인가요?
유지 보수의 용이성, IDE 친화성, 소스 컨트롤 브랜치/병합에 적합성 및 쉬운 설치 패키지 생성이 필요한 기능입니다.
특히 다음과 같습니다:
- 소스를 어디에 넣나요?
- 애플리케이션 시작 스크립트를 어디에 넣나요?
- IDE 프로젝트 부산물을 어디에 넣나요?
- 단위/인수 테스트를 어디에 넣나요?
- 구성 파일과 같은 비-Python 데이터를 어디에 넣나요?
- pyd/so 바이너리 확장 모듈을 위한 비-Python 소스를 어디에 넣나요?
답변
너무 중요하지 않습니다. 행복하게 하는 것이 작동합니다. Python 프로젝트는 간단할 수 있으므로 많은 어리석은 규칙이 없습니다.
/scripts
또는/bin
과 같은 명령 줄 인터페이스 관련 항목- 테스트용
/tests
- C 언어 라이브러리용
/lib
- 대부분의 문서에 대한
/doc
- Epydoc에서 생성된 API 문서에 대한
/apidoc
그리고 최상위 디렉토리에는 README, Config 등이 포함될 수 있습니다.
어려운 선택은 /src
트리를 사용할 것인지 여부입니다. Python은 Java나 C와 같은 /src
, /lib
, /bin
의 구분을 가지고 있지 않습니다.
최상위 /src
디렉토리는 의미 없는 것으로 여겨지기도 하므로 최상위 디렉토리는 애플리케이션의 최상위 아키텍처가 될 수 있습니다.
/foo
/bar
/baz
제품 이름 디렉토리 아래에 모두 넣는 것이 좋습니다. 따라서, 애플리케이션 이름이 quux
인 경우, 이 모든 것을 포함하는 디렉토리는 /quux
로 이름이 지정됩니다.
다른 프로젝트의 PYTHONPATH
는 /path/to/quux/foo
를 포함하여 QUUX.foo
모듈을 재사용할 수 있습니다.
제 경우, Komodo Edit을 사용하기 때문에, 제 IDE cuft는 단일 .KPF 파일입니다. 실제로 그것은 최상위 /quux
디렉토리에 있으며 SVN에 추가하지 않습니다.
반응형
댓글