Continuing indentation
Steven D'Aprano
steve at pearwood.info
Wed Mar 2 21:22:01 EST 2016
On Thu, 3 Mar 2016 11:02 am, Carl Meyer wrote:
> On 03/02/2016 04:54 PM, Chris Angelico wrote:
>> On Thu, Mar 3, 2016 at 10:46 AM, <codewizard at gmail.com> wrote:
>>> On Wednesday, March 2, 2016 at 3:44:07 PM UTC-5, Skip Montanaro wrote:
>>>>
>>>> if (some_condition and
>>>> some_other_condition and
>>>> some_final_condition):
>>>> play_bingo()
>>>
>>> How about:
>>>
>>> continue_playing = (
>>> some_condition and
>>> some_other_condition and
>>> some_final_condition
>>> )
>>>
>>> if continue_playing:
>>> play_bingo()
>>>
>>> or:
>>>
>>> play_conditions = [
>>> some_condition,
>>> some_other_condition,
>>> some_final_condition,
>>> ]
>>>
>>> if all(play_conditions):
>>> play_bingo()
>>
>> Those feel like warping your code around the letter of the law,
>> without really improving anything.
>
> Not at all! Taking a series of boolean-joined conditions and giving the
> combined condition a single name is often a major improvement in
> readability. Not primarily for code-layout reasons, but because it
> forces you to name the concept (e.g. "continue_playing" here.)
If you only use "continue_playing" in exactly one place, then it doesn't
deserve a name. You wouldn't write:
the_index = x + 1
value = sequence[the_index]
would you?
> Names are important!
Too important to waste on every single-use expression.
--
Steven
More information about the Python-list
mailing list