2

Pocoo风格指南建议使用break,continuereturn语句来避免深度嵌套的代码。你会怎么做?

4

2 回答 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()

请注意,后者保存了缩进级别。显然你不能总是这样做,但在某些情况下,它提高了在开始时处理“如果 X 则立即停止”条件的可读性,而不必将一大段代码包装在一个if块中。

于 2012-09-01T22:13:15.120 回答
2

例如,不要写:

if param1Valid:
    if param2Valid:
        ....

您可以使用保护条款:

if not param1Valid:
    return
if not param2Valid:
    return
....

许多文章颂扬了保护条款的优点:

You can use the exact same approach inside a loop with the continue keyword.

于 2012-09-01T22:14:54.683 回答