On 12/01/14 18:45, Peter Ludemann wrote: > If you're asking about whether pylint should complain about the OP's > code, I think that it shouldn't -- in the semantics of for/else, return > and break are similar and rewriting OP's code to suppress the warnings > is not an improvement: > > def _areConstants(expressions): > for expression in expressions: > if not expression.isExpressionConstantRef(): > break > if expression.isMutable(): > break > else: > return True > return False
That's not an improvement but also not the obvious way to rewrite the
code to suppress the, IMHO legitimate, warning. Instead of introducing
``break``\s for an unnecessary ``else`` clause one could also just
remove that unnecessary ``else``::
def _areConstants(expressions):
for expression in expressions:
if not expression.isExpressionConstantRef():
return False
if expression.isMutable():
return False
return True
Which improves the situation in a way, because now the fellow Python
coder doesn't wonder where the ``break`` should be or if the author
understood the semantics of ``else`` on loop constructs.
I would also avoid this question by using `all()` here. :-)
Ciao,
Marc 'BlackJack' Rintsch
--
“It was not a good idea to address any prayers to a Supreme Being.
It would only attract his attention and might cause trouble.”
-- Terry Pratchett, Small Gods
signature.asc
Description: OpenPGP digital signature
_______________________________________________ code-quality mailing list [email protected] https://mail.python.org/mailman/listinfo/code-quality
