2013-06-05 1 views
2

그래서 메서드와 속성의 밑줄 접두사는 파이썬에서 거의 사용되지 않습니다. 그러나 어떤 메소드가 API의 일부인지 분명히하는 것이 매우 편리합니다. 이것은 경고이며 해당 멤버에 액세스하거나 덮어 쓸 때 다른 프로그래머에게 책임을 묻기 때문에 스스로 설명하고 리팩토링을 훨씬 더 안전하게 만드는 장점이 있습니다. 그러나 메소드와 속성의 약 80 %가 접두어로 붙어 있습니다. 다시 한번 다른 라이브러리에서는 거의 사용되지 않으며,보기 흉한 것처럼 보이고, 나에게 불쾌감을 느낍니다.파이썬에서 API가 아닌 모든 멤버를 접두어로 표시해야합니까?

필자는 4 년 동안 Python에서 프로그래밍 중이며 위의 이유로 밑줄 접두어를 거의 사용하지 않았으며 제어 괴물이 아니라 깨끗한 인터페이스 설명을 위해 위의 이유로 생각하기 시작했습니다. PEP8은 그 사용을 방해하지 않습니다.

이제는 무엇을해야합니까? 접두사가 접두사 인 경우 비 API 회원은 밑줄을 사용합니까?

+0

이것은 "코딩 스타일"문제입니다. 객관적인 대답은 없습니다. [PEP8은 몇 가지 예와 지침을 제공합니다.] (http://www.python.org/dev/peps/pep-0008/#descriptive-naming-styles). – user2246674

+0

필자는 PEP8의 밑줄과 관련된 부분을 알고 있으며, * 가능하다는 점을 제외하고는 더 이상의 힌트를 찾을 수 없습니다. 코딩 스타일 질문 인 경우 제 질문은이 코딩 스타일이 왜 그렇게 악명 높은가를 나타냅니다. 나는이 주제에 대해 많은 질문을 던지기 전에 "가능한", "유용하다"라고 말하지만 실제로 그렇게 많이 사용되지는 않습니다. – Iodnas

+0

그렇다면 개발자 (또는 선임 개발자 또는 프로젝트 책임자/저자/관리자)가 원하는대로 자유롭게 할 수 있습니다. 각 프로젝트 내에서 일관성을 유지하고 합리적인 의사 결정을 뒷받침 할 수 있어야합니다. – user2246674

답변

2

; 속성, 메서드 및 기능 상수 클래스

구체적으로는 대한

ThisKindOfCamelCase에 대한

joined_lowercase or JOINED_CAPS에 대한

joined_lowercaseinterface, _internal, 또는 __private 될 수 속성

그러나 __private 양식을 피하십시오. 나는 결코 그것을 사용하지 않는다. 날 믿어. 당신이 그것을 사용한다면 WILL 나중에 그것을 후회하십시오.

+0

나는''내부 ''로 표시 될 수 있음을 알고 있으며 이것은 내 질문이 아니다. 나는 정말로 그것을 광범위하게해야하는지 묻는다. – Iodnas

+0

예! 코드를 읽기 쉽게 만듭니다. –

+0

그렇다면 Django, Tastypie, Sphinx와 같은 최신 라이브러리와 전문 라이브러리의 내부 멤버들에게는 왜 그렇게 자주 사용되지 않습니까? – Iodnas

관련 문제