programing

모듈의 Python 명명 규칙

css3 2023. 8. 28. 21:20

모듈의 Python 명명 규칙

"nib"라는 클래스를 정의하는 것이 목적인 모듈이 있습니다. (그리고 관련된 클래스도 몇 개 있습니다.)모듈 자체를 어떻게 불러야 합니까?"유령"?"오디오 모듈"?또 다른 건 없으세요?

그냥 먹어요.클래스 이름을 Nib로 하고 대문자 N을 사용합니다.명명 규칙 및 기타 스타일 조언에 대한 자세한 내용은 Python 스타일 가이드인 PEP 8을 참조하십시오.

저는 그것을 nib.py 라고 부릅니다.그리고 저는 반 이름도 닙이라고 지을 것입니다.

제가 연구하고 있는 더 큰 파이썬 프로젝트에서는 기본적으로 하나의 중요한 클래스를 정의하는 많은 모듈이 있습니다.클래스의 이름은 대문자로 시작합니다.모듈의 이름은 클래스의 소문자와 같습니다.이로 인해 다음과 같은 가져오기가 수행됩니다.

from nib import Nib
from foo import Foo
from spam.eggs import Eggs, FriedEggs

자바 방식을 모방하는 것과 같습니다.파일당 하나의 클래스입니다.그러나 유연성이 추가되어 필요한 경우 언제든지 다른 클래스를 단일 파일에 추가할 수 있습니다.

저는 제 솔루션이 비단조적인 관점에서 그다지 인기가 없다는 것을 알지만, 저는 클래스로 명명된 모듈이 있는 하나의 모듈-> 하나의 클래스의 Java 접근 방식을 사용하는 것을 선호합니다.파이썬 스타일 뒤에 있는 이유는 이해하지만, 저는 많은 클래스가 포함된 매우 큰 파일이 있는 것을 별로 좋아하지 않습니다.저는 접어도 찾아보기가 어렵습니다.

또 다른 이유는 버전 제어입니다. 파일이 크면 커밋이 해당 파일에 집중되는 경향이 있습니다.이로 인해 잠재적으로 더 많은 양의 충돌이 해결될 수 있습니다.또한 커밋이 특정 파일을 수정하는 추가 로그 정보가 손실됩니다(따라서 특정 클래스가 관련됨).대신 모듈 파일에 대한 수정 내용이 표시되고, 수정 내용을 이해하기 위한 커밋 주석만 표시됩니다.

요약하자면, 만약 당신이 파이썬 철학을 선호한다면, 다른 게시물의 제안을 받아보세요.만약 당신이 자바와 같은 철학을 선호한다면, 클래스 Nib를 포함하는 Nib.py 을 만드세요.

닙은 괜찮습니다.의심스러운 경우 Python 스타일 가이드를 참조하십시오.

PEP 8에서:

패키지 및 모듈 이름 모듈은 모두 소문자로 짧은 이름을 사용해야 합니다.가독성이 향상된 경우 모듈 이름에 밑줄을 사용할 수 있습니다.또한 Python 패키지는 모두 소문자로 된 짧은 이름을 사용해야 하지만 밑줄은 사용하지 않습니다.

모듈 이름은 파일 이름에 매핑되고 일부 파일 시스템은 대소문자를 구분하지 않고 긴 이름을 잘라내기 때문에 모듈 이름을 상당히 짧게 선택하는 것이 중요합니다. 유닉스에서는 문제가 되지 않지만 코드가 이전 Mac 또는 Windows 버전 또는 DOS로 전송될 때 문제가 될 수 있습니다.

C 또는 C++로 작성된 확장 모듈에 상위 수준(예: 더 많은 객체 지향) 인터페이스를 제공하는 Python 모듈이 포함된 경우 C/C++ 모듈은 선행 밑줄(예: _socket)을 가집니다.

PEP-8에서: 패키지모듈 이름:

모듈의 이름은 모두 소문자여야 합니다.가독성이 향상된 경우 모듈 이름에 밑줄을 사용할 수 있습니다.

또한 Python 패키지는 모두 소문자로 된 짧은 이름을 사용해야 하지만 밑줄은 사용하지 않습니다.

C 또는 C++로 작성된 확장 모듈에 상위 수준(예: 더 많은 객체 지향) 인터페이스를 제공하는 Python 모듈이 포함된 경우 C/C++ 모듈은 선행 밑줄(예: _socket)을 가집니다.

언급URL : https://stackoverflow.com/questions/711884/python-naming-conventions-for-modules