<br><br>On Friday, April 27, 2018, Tim Peters <<a href="mailto:tim.peters@gmail.com">tim.peters@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">[Chris Angelico <<a href="mailto:rosuav@gmail.com">rosuav@gmail.com</a>>]<br>
> ...<br>
> I don't understand why people bring up all these arguments that have<br>
> absolutely nothing to do with the proposal at hand. None of this has<br>
> in any way changed.<br>
<br>
That's easy:  any time there's a long thread to which Guido has<br>
contributed at least twice, it will be seen as a Golden Opportunity to<br>
re-litigate every decision that's ever been made ;-)<br>
<br>
Some amount of that seems healthy to me (people are thinking about<br>
"language design" from a larger view than the proposal du jour).  In<br>
this specific case, line-oriented coverage tools have missed<br>
accounting for all possible code paths since day #1; e.g.,<br>
<br>
    x = f() or g()<br>
<br>
You don't need to reply to messages so obviously irrelevant to the PEP<br>
unless you want to.  It's not like Guido will read them and go "oh!  a<br>
binding expression in a ternary conditional is a fundamentally new<br>
potential problem for a line-oriented coverage tool!  that's fatal"<br>
;-)</blockquote><div><br></div><div>I have shared with you the overlapping concerns about this feature proposal that I believe should be explained with DO and DON'T in the docs and/or the PEP and/or the style guide(s) for various organizations in the Pyrhon community.</div><div><br></div><div>This feature does require additions to the style-guide(s); which is why so many have expressed concern about such a simple thing.</div><div><br></div><div>If you want to write debuggable and coverage-testable code, do not use the assignment expression operator in ternary expressions or boolean-chained expressions.</div><div><br></div><div>The assignment expression operator is the only way to define variables with only comprehension scope.</div><div><br></div><div>Do not do this:</div><div><br></div><div>x = 2</div><div>if (x == 3) or (x := 3):</div><div>   print(x)</div><div><br></div><div>What do we call that mistake?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
______________________________<wbr>_________________<br>
Python-Dev mailing list<br>
<a href="mailto:Python-Dev@python.org">Python-Dev@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-dev" target="_blank">https://mail.python.org/<wbr>mailman/listinfo/python-dev</a><br>
Unsubscribe: <a href="https://mail.python.org/mailman/options/python-dev/wes.turner%40gmail.com" target="_blank">https://mail.python.org/<wbr>mailman/options/python-dev/<wbr>wes.turner%40gmail.com</a><br>
</blockquote>