암시 적 vs 명시 적 라인 결합에 대한 권장 사항


9

파이썬에서 암시 적 라인 조인명시 적 라인 조인 에 대한 권장 사항을 알고 싶습니다 .

특히, 한 형태를 다른 형태보다 선호합니까? 일반적인 기본값으로 무엇을 권장합니까? 하나를 선택하기위한 어떤 기준이 있습니까? 하나를 선호하는 경우 언제 다른 것을 예외로합니까?

내 자신의 편견을 반영하는이 질문에 대한 답변이 있지만 내 답변을 게시하기 전에 다른 사람들의 생각을 알고 싶습니다 ... 내가 생각하는 것보다 더 나은 기준을 가질 수 있다면 그럼 내 자신의 대답을 확실히 받아 들일 것입니다.

권장 사항 중 일부는 다른 프로그래밍 언어 에서이 선택에 일반화 될 수 있지만 일부 언어 관련 기능으로 인해 Python에서는 내 편견이 다소 강하므로 일반적인 및 Python 중심 추론을 알고 싶습니다. 이 주제에 대해.

일부 배경의 경우 토론 은 stackoverflow에 대한 특정 질문에 대해 발생 했지만이 주제에 대한 주제를 벗어 났기 때문에이 탄젠트로 SO에 대한 대답을 어지럽히 지 않도록 질문으로 토론을 옮기는 것이 더 적절하다고 생각했습니다. 원래 질문. 토론을 진행 한 예제 코드 스 니펫에 대한 해당 질문과 답변을 볼 수 있습니다.

다음은 간단한 예입니다.

join_type = "explicit"
a = "%s line joining" \
    % (join_type)
# versus
join_type = "implicit"
b = ("%s line joining"
     % (join_type))

모범 사례 질문은 코드 검토와 관련이 없습니다. 귀하의 질문을 더 나은 장소로 이전했습니다.
Winston Ewert

1
@WinstonEwert는 게시하기 전에 CodeReview FAQProgrammers FAQ를 잘 살펴 보았으며 CodeReview를 선택했습니다. 문제가되는 코드의 단순화 된 버전을 포함 시켰으므로이 주제는 어떻습니까?
aculich

@WinstonEwert 나는 거기에 의견이 있다면 CodeReview FAQ를 명확하게하는 것에 대해 Meta 에 질문을 게시했습니다 .
aculich

답변:


8

PEP8이라는 코딩 스타일 문서가 있습니다. \<NL>괄호를 사용할 수있는 곳 은 사용하지 않는 것이 좋습니다 .

긴 줄을 줄 바꿈하는 가장 좋은 방법은 괄호, 괄호 및 중괄호 안에 파이썬의 묵시적 줄 연속을 사용하는 것입니다. 긴 줄은 식을 괄호로 묶어 여러 줄로 나눌 수 있습니다. 라인 연속에 백 슬래시를 사용하는 것보다 우선적으로 사용해야합니다. 연속 줄을 적절히 들여 쓰십시오. 이진 연산자를 돌파하기 위해 선호되는 장소 는 연산자가 아닌 연산자 입니다.

전문 : http://www.python.org/dev/peps/pep-0008/ (섹션 코드 레이아웃)

강제적이지는 않지만 팀에 여러 파이썬 커미터가있는 경우 특히 유용한 수용 가능한 모범 사례를 정의합니다.


1

나는 암시 적 라인 조인을 사용하는 경향이 있습니다. 왜냐하면 더 읽기 쉽기 때문에 괄호 일치 덕분에 전체 표현식의 들여 쓰기 및 강조와 관련하여 편집기의 지원이 더 좋습니다.


0

현재는 선호합니다

join_type = "kiding"
a = "%s line joining" % (join_type)

비-))

.

나는 표현의 끝에서 파 슨터의 혼란을 좋아하지 않기 때문에 Explicit Lines Joining을 선호하는 경향이 있습니다.
그러나 나는 문자열을 쓰는 데 사용되는 너비를 줄이기 위해 암시 적 라인 결합을 좋아합니다.
어떤 경우에는 두 가지 방법을 섞지 않는 것이 당황 스럽습니다


1
모든 농담을 제외하고는 더 많은 타이핑이 필요하고 코드를 편집 할 때 모든 백 슬래시를 깔끔하게 정리하기가 어렵 기 때문에 명시 적 조인을 좋아하지 않습니다.
martineau

분명히 @eyquem은 LISP를 전혀 작성하지 않았습니다 ...
cowbert
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.