Pocooスタイル ガイドでは、深くネストされたコードを避けるためbreak
に , continue
andステートメントを使用することを推奨しています。return
どうやってそれをしますか?
質問する
240 次
2 に答える
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 の場合はすぐに停止する」条件を処理することで可読性が向上します。
于 2012-09-01T22:13:15.120 に答える
2
たとえば、次のように書く代わりに:
if param1Valid:
if param2Valid:
....
ガード句を使用できます。
if not param1Valid:
return
if not param2Valid:
return
....
多くの記事がガード条項の利点を称賛しています。
- http://blog.mafr.de/2009/06/12/a-case-for-guard-clauses/
- http://www.codinghorror.com/blog/2006/01/flattening-arrow-code.html
- http://sourcemaking.com/implementation-patterns/guard-clause
continue キーワードを使用して、ループ内でまったく同じアプローチを使用できます。
于 2012-09-01T22:14:54.683 に答える