<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">On Wed, Feb 20, 2019 at 10:57 PM Abe Dillon <<a href="mailto:abedillon@gmail.com">abedillon@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div>I wish you would have <a href="https://www.youtube.com/watch?v=B3b4tremI5o&t=7m45s" target="_blank">watched the video I linked</a> </div></div></div></blockquote><div><br></div><div>that is an hour and 7 minute video! And I did watch some of it, and do agree with much of it.</div><div><br></div><div>By the way, everyone should watch one of Jack Diederich's "naming things once videos as well:</div><div><br></div><div><a href="https://www.youtube.com/watch?v=hZ7hgYKKnF0">https://www.youtube.com/watch?v=hZ7hgYKKnF0</a><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div> but in the context of code running off the edge of a window,</div></div></div></blockquote><div><br></div><div>I never said anything about running off the edge of the window -- if you put all your parameters on their own line, and don't use insanely long names, that will not be an issue. Keeping it to 72 chars is virtually never a problem.</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div> having the argument list hidden out there </div></div></div></blockquote><div><br></div><div>nothing hidden about it --it's exactly where a single argument would be -- does anyone advocate putting a single parameter or argument on the next line?</div><div><br></div><div>But my core point really was these are all matter of opiniion, and it's a godo thing that PEP 8 allows some variation. </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">This puts the parameter definitions over on the right, after the function name, where they belong</blockquote><div><br>According to whom?<br></div></div></div></div></blockquote><div><br></div><div>According to me, of course. But it is wehre a single parameter would be, yes?</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div><div>[Christopher Baker]<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">if you HAVE to put it off to the left for I don't know why, at least put some extra space in there:<br><span style="font-family:monospace,monospace">def a_function_with_lots_of_params(<br></span><span style="font-family:monospace,monospace">        param1,<br></span><span style="font-family:monospace,monospace">        param2,<br></span><span style="font-family:monospace,monospace">        kwarg1=something,<br></span><span style="font-family:monospace,monospace">        kwarg2=something_else):<br></span><span style="font-family:monospace,monospace">    now_a_line_of_code = this_thing()</span><br>The parameters are still in an odd place, but at least it's clear where the body of the function begins.</blockquote><div><br>If you'd seen my other replies in this very thread, you'd see that's exactly the style I use.<br></div></div></div></div></div></blockquote><div><br></div><div>I've lost track of who advocates what style, but I was responding to someone that specifically advocated one level of indentation -- which is really the worst option.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div><div><div>[Christopher Baker]<br class="gmail-m_6459336394666261624gmail-Apple-interchange-newline"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">well, that is an issue that I do face, but I blame it on my crappy tools :-)</blockquote><div><br>I consider it a good thing that your tools don't facilitate bad coding style ;)<br></div></div></div></div></div></div></blockquote><div><br></div><div>mostly they don't facilitate any of these styles in this context (I've been meaning to write a plugin for sublime that does, but haven't gotten around to it ). But the point is that handling indenting is really something the tools should do for you -- choosing a style for "ease of refactoring" should be pointless.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div><div><div><div>This is just more Stockholm syndrome.</div></div></div></div></div></div></blockquote><div><br></div><div>honestly, I haven't chooses this style due to having been forced (or even encouraged) to use it -- I spend more time re-aligning code to make it the way I want it -- so no, I"ve come on this 'cuse it fits my brain better.</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div><div><div><div> Nowhere else will you see people consider cramming valuable information off into the right margin with arbitrary indentation "good design".</div></div></div></div></div></div></blockquote><div><br></div><div>It's not the margin, and it's not arbitrary.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div><div><div><div> You won't see it in prose. You won't see it in mathematical notation. You won't see it anywhere else.</div></div></div></div></div></div></blockquote><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Actually, I"ve seen in it math, where you have an "array" of equations, and tabular information with columns on the right being important is not the least bit rare.<br><span class="gmail-im" style="color:rgb(80,0,80)">> But if you are going to do it, for the love of god, use more than four<br></span><span class="gmail-im" style="color:rgb(80,0,80)">> spaces! four spaces is one indentation, one indentation is how a code<br></span><span class="gmail-im" style="color:rgb(80,0,80)">> block is delineated in Python -- this is NOT a code block. It should not<br></span><span class="gmail-im" style="color:rgb(80,0,80)">> look like one.</span><span class="gmail-im" style="color:rgb(80,0,80)"><br></span>        I feel the complete opposite.  "One indentation" is the only unit in <br>multiples of which anything should ever be indented.  Using arbitrary <br>"indentation" to visually line things up is horrible.  Everything gets <br>indented by an integer number of indentation levels.</blockquote><div><br></div><div>OK, then use two indentation levels for the parameter stack -- just don't use one -- that really is the worst option -- one indentation has real meaning in code.</div><div><br></div><div>-CHB</div><div><br></div><div>-- <br></div></div><div dir="ltr" class="gmail_signature">Christopher Barker, PhD<br><br> Python Language Consulting<br>  - Teaching<br>  - Scientific Software Development<br>  - Desktop GUI and Web Development<br>  - wxPython, numpy, scipy, Cython<br></div></div></div></div>