+1 for autopep8

On Thu, Apr 9, 2020 at 4:45 PM Wes McKinney <wesmck...@gmail.com> wrote:

> So to summarize, it seems that what we are agreeing in this thread is
> to not debate readability about otherwise PEP8-compliant Python code
> in code reviews, is that right? Absent a consensus about a change, the
> outcome is basically "no change". The addition of autopep8 as a tool
> for automated PEP8 fixes (as opposed to manual ones, which is what's
> required right now) seems reasonable in that it does not make invasive
> changes to the current codebase.
>
> We can also abandon this discussion and not use any tool. Either way
> it would be good to reach a conclusion and move on.
>
> - Wes
>
> On Thu, Apr 9, 2020 at 3:05 AM Uwe L. Korn <uw...@xhochy.com> wrote:
> >
> > The non-configurability of black is one of the strongest arguments I see
> for black. The codestyle will always be subjective. From previous
> discussions I know that my personal preference of readability conflicts
> with that of Antoine and Wes, so will probably others. We have the same
> issue with using the Google C++ style guide in C++. Not everyone agrees
> with it but at least it is a guide that is adopted widely (and thus seen in
> other projects quite often) and has well outlined reasonings for most of
> its choices.
> >
> > On Wed, Apr 8, 2020, at 10:25 PM, Xinbin Huang wrote:
> > > Another option that we can look into is yapf (
> > > https://github.com/google/yapf). It is similar to black but more
> tweakable.
> > > Also, it is recently adopted by the Apache Beam project. PR is here
> > > https://github.com/apache/beam/pull/10684/files
> > >
> > > Bin
> > >
> > > On Wed, Apr 8, 2020 at 1:18 PM Wes McKinney <wesmck...@gmail.com>
> wrote:
> > >
> > > > I don't think it's possible unfortunately. From the README: "Black
> > > > reformats entire files in place. It is not configurable."
> > > >
> > > > The main concern about Black is the impact that it has on
> readability.
> > > > I share this concern as the subjective style choices it makes are
> > > > quite different from the way I've been writing Python code the last
> 12
> > > > years. That doesn't mean I'm right and it's wrong, of course. In this
> > > > project, it doesn't seem like we're losing much energy to people
> > > > reformatting arguments lists or adding line breaks here and there,
> > > > etc. FWIW, from reading the Black docs, it doesn't strike me that the
> > > > tool is designed to maximize readability, but rather to make
> > > > formatting deterministic and reduce code diffs caused by
> reformatting.
> > > >
> > > > My opinion is that we should simply avoid debating code style in code
> > > > reviews as long as the code passes the PEP8 checks. Employing
> autopep8
> > > > is an improvement over the status quo (which is that developers must
> > > > fix flake8 / PEP8 warnings by hand). We can always revisit the Black
> > > > discussion in the future if we find that subjective code formatting
> > > > (beyond PEP8 compliance) is taking up our energy inappropriately.
> > > >
> > > > On Wed, Apr 8, 2020 at 2:13 PM Rok Mihevc <rok.mih...@gmail.com>
> wrote:
> > > > >
> > > > > Could we 'tone down' black to get the desired behavior?
> > > > > I'm ok with either tool.
> > > > >
> > > > > Rok
> > > > >
> > > > > On Wed, Apr 8, 2020 at 8:00 PM Wes McKinney <wesmck...@gmail.com>
> wrote:
> > > > >
> > > > > > On Wed, Apr 8, 2020 at 12:47 PM Neal Richardson
> > > > > > <neal.p.richard...@gmail.com> wrote:
> > > > > > >
> > > > > > > So autopep8 doesn't fix everything? Sounds inferior to me. That
> > > > said, I'm
> > > > > > > in favor of any resolution that increases our automation of
> this and
> > > > > > > decreases the energy we expend debating it.
> > > > > >
> > > > > > It does fix everything, where "everything" is compliance with
> PEP8,
> > > > > > which I think is the thing we are most interested in.
> > > > > >
> > > > > > Black makes a bunch of other arbitrary (albeit consistent)
> > > > > > reformattings that don't affect PEP8 compliance.
> > > > > >
> > > > > > > Neal
> > > > > > >
> > > > > > >
> > > > > > > On Wed, Apr 8, 2020 at 10:34 AM Wes McKinney <
> wesmck...@gmail.com>
> > > > > > wrote:
> > > > > > >
> > > > > > > > Circling back on this, it seems there isn't consensus about
> > > > switching
> > > > > > > > to Black, and using autopep8 at least will give us an easy
> way to
> > > > > > > > maintain PEP8 compliance and help contributors fix linting
> failures
> > > > > > > > detected by flake8 (but not all, e.g. unused imports would
> need to
> > > > be
> > > > > > > > manually removed). Would everyone be on board with using
> autopep8?
> > > > > > > >
> > > > > > > > On Thu, Apr 2, 2020 at 9:07 AM Wes McKinney <
> wesmck...@gmail.com>
> > > > > > wrote:
> > > > > > > > >
> > > > > > > > > I'm personally fine with the Black changes. After the
> one-time
> > > > cost
> > > > > > of
> > > > > > > > > reformatting the codebase, it will take any personal
> preferences
> > > > out
> > > > > > > > > of code formatting (I admit that I have several myself,
> but I
> > > > don't
> > > > > > > > > mind the normalization provided by Black). I hope that
> Cython
> > > > support
> > > > > > > > > comes soon since a great deal of our code is Cython
> > > > > > > > >
> > > > > > > > > On Thu, Apr 2, 2020 at 9:00 AM Jacek Pliszka <
> > > > > > jacek.plis...@gmail.com>
> > > > > > > > wrote:
> > > > > > > > > >
> > > > > > > > > > Hi!
> > > > > > > > > >
> > > > > > > > > > I believe amount of changes is not that important.
> > > > > > > > > >
> > > > > > > > > > In my opinion, what matters is which format will allow
> > > > reviewers
> > > > > > to be
> > > > > > > > > > more efficient.
> > > > > > > > > >
> > > > > > > > > > The committer can always reformat as they like. It is
> harder
> > > > for
> > > > > > the
> > > > > > > > reviewer.
> > > > > > > > > >
> > > > > > > > > > BR,
> > > > > > > > > >
> > > > > > > > > > Jacek
> > > > > > > > > >
> > > > > > > > > > czw., 2 kwi 2020 o 15:32 Antoine Pitrou <
> anto...@python.org>
> > > > > > > > napisał(a):
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > PS: in both cases, Cython files are not processed.
> autopep8
> > > > is
> > > > > > > > actually
> > > > > > > > > > > able to process them, but the comparison wouldn't be
> > > > > > > > apples-to-apples.
> > > > > > > > > > >
> > > > > > > > > > > (that said, autopep8 gives suboptimal results on Cython
> > > > files,
> > > > > > for
> > > > > > > > > > > example it changes "&c_variable" to "& c_variable" and
> > > > > > > > > > > "void* ptr" to "void * ptr")
> > > > > > > > > > >
> > > > > > > > > > > Regards
> > > > > > > > > > >
> > > > > > > > > > > Antoine.
> > > > > > > > > > >
> > > > > > > > > > > Le 02/04/2020 à 15:30, Antoine Pitrou a écrit :
> > > > > > > > > > > >
> > > > > > > > > > > > Hello,
> > > > > > > > > > > >
> > > > > > > > > > > > I've put up two PRs to compare the effect of running
> black
> > > > vs.
> > > > > > > > autopep8
> > > > > > > > > > > > on the Python codebase.
> > > > > > > > > > > >
> > > > > > > > > > > > * black: https://github.com/apache/arrow/pull/6810
> > > > > > > > > > > >  65 files changed, 7855 insertions(+), 5215
> deletions(-)
> > > > > > > > > > > >
> > > > > > > > > > > > * autopep8:
> https://github.com/apache/arrow/pull/6811
> > > > > > > > > > > >  20 files changed, 137 insertions(+), 118
> deletions(-)
> > > > > > > > > > > >
> > > > > > > > > > > > I've configured black to try and minimize changes
> (for
> > > > example,
> > > > > > > > avoid
> > > > > > > > > > > > normalizing string quoting style).  Still, the
> number of
> > > > > > changes is
> > > > > > > > > > > > humongous and they add 2600 lines to the codebase
> (which
> > > > is a
> > > > > > > > tangible
> > > > > > > > > > > > amount of vertical space).
> > > > > > > > > > > >
> > > > > > > > > > > > Regards
> > > > > > > > > > > >
> > > > > > > > > > > > Antoine.
> > > > > > > > > > > >
> > > > > > > >
> > > > > >
> > > >
> > >
>

Reply via email to