Pocoo style guide은 깊이 중첩 된 코드를 피하기 위해 break
, continue
및 return
문을 사용할 것을 권장합니다. 어떻게 그럴 수 있니?Python에서 깊이 중첩 된 코드를 피하기 위해 break, continue 및 return 문을 사용하는 방법은 무엇입니까?
2
A
답변
3
간단한 예는 대신의 것 :
for item in seq:
if someCondition:
# Here is our code block
if blah:
more.stuff()
당신이 후자는 들여 쓰기 수준을 절약 할 수 있음이
for item in seq:
if not someCondition:
continue
# Now our code block is here
if blah:
more.stuff()
참고 할 수 있습니다. 당연히이 작업을 수행 할 수는 없지만 어떤 경우에는 if
블록에 많은 코드를 래핑하지 않아도 처음부터 "X가 바로 멈추면"조건을 처리하기위한 가독성이 향상됩니다.
if param1Valid:
if param2Valid:
....
사용할 수있는 가드 조항 : 대신 쓰기의 예를 들어
2
,
if not param1Valid:
return
if not param2Valid:
return
....
많이 가드 조항의 미덕을 찬양
당신은 계속 키워드 루프 내부에 동일한 접근 방식을 사용할 수 있습니다.
관련 문제
- 1. break, continue, return 및 throw을 통합 함.
- 2. 정적 분석을 위해 "continue"와 "break"
- 3. 중첩 된 블록 피하기
- 4. 함수 내에서 return 문을 사용하는 것은 무엇입니까?
- 5. 깊이 중첩 된 노선들은 3
- 6. 중첩 된 SQL 문을 사용하고
- 7. 테이블에 중첩 된 양식 피하기
- 8. 캉캉 깊이 중첩 된 자원
- 9. return 문을 이런 식으로 사용하는 것은 잘못 되었습니까?
- 10. 'return false'를 구현하기 위해 코드를 개선하는 방법은 무엇입니까?
- 11. Azure에서 MSDTC를 피하기 위해 EF 중첩 된 연결을 수정하는 중
- 12. LINQ : 중첩 된 SELECT 문을 조건부로 만드는 방법은 무엇입니까?
- 13. 캐시 오염을 피하기 위해 movntdqa를 사용하는 방법은 무엇입니까?
- 14. Python에서 유니 코드를 사용하는 방법
- 15. 중첩 세트 깊이
- 16. DELPHI : 루프 또는 케이스 외부에서 "break"를 사용하는 방법은 무엇입니까?
- 17. 중복 코드를 피하기 위해 리 팩터링
- 18. Python에서 Py.test를 사용하는 방법은 무엇입니까?
- 19. Python에서 SSL을 사용하는 방법은 무엇입니까?
- 20. Python : 여러 가지 if ... else 문을 피하기 위해 우아한 방법으로 코드를 저장하고 코드를 저장합니다.
- 21. MySQLi 중첩 준비 문을 구현하는 방법은 무엇입니까?
- 22. 중첩 쿼리 피하기
- 23. Python에서 raw_input에 텍스트를 삽입하기위한 Crossplatform 메서드 (readine을 피하기 위해)
- 24. 중첩 된 if 문을 AND
- 25. continue 문을 for 루프 안에 넣고 조건이
- 26. xcode의 Fix and Continue 디버깅 기능을 사용하는 방법은 무엇입니까?
- 27. Matlab - 중첩 루프 피하기
- 28. Python에서 "중첩 된"부속 명령을 어떻게 구현해야합니까?
- 29. break and return @temp_catid if (true)
- 30. objective C for for loop break and continue
두 답변 모두 유용하지만 전체적인 것은 아닙니다. 다윗은 또 하나의 사례를 주었다. – Bentley4
@ Bentley4 : 스타일에 관한 질문이기 때문에 철저한 답변을 얻지 못할 수도 있습니다. 특정 코드 조각에 대한 구체적인 주장을하지 않습니다. 일반적으로 이런 종류의 정책을 따르는 것이 좋습니다. – BrenBarn
두 답변 모두 철저한 답변입니다. 두 대답 모두 * 개념을 설명합니다. 이것을 코드에 적용하려면 개념을 이해해야합니다. 직접 코드를 사용할 수 없습니다. 당신은 귀하의 환경에 아이디어 *를 적용해야합니다. –