[sugar] Python coding conventions

Dan Williams dcbw
Mon Oct 2 10:11:44 EDT 2006


On Mon, 2006-10-02 at 14:10 +0200, Marco Pesenti Gritti wrote:
> >> When we decided for tabs I remember Dan had a discussion with David 
> >> about this and he was feeling strongly for tabs. Dan?
> >>     
> >
> > (obviously activities can do what they want)
> >
> > Yeah, I'm a tabs guy.  But a lot of the python bindings code for GNOME
> > that we were using also used tabs, and we felt consistency there too was
> > worth something.  Maybe not.
> >
> > People who prefer spaces either (a) like hitting arrow keys a lot, or
> > (b) have an editor that skips spaces automatically.  Not every editor
> > does that, or does it consistently.  Presumably Python started using
> > 4-space-width tabs because they couldn't agree on how big a tab was
> > supposed to be and decided to make the question irrelevant. 
> >   
> To me the pro of spaces are:
> 
> - You can read the code on every editor and it will always look the same.

There's always modelines, and as long as everyone agrees that a tab is
the same width (enforced with modelines and whatnot), the code is always
readable anyway.  It's completely the same problem.  If you choose
spaces, everyone has to agree on (a) using spaces in the first place,
and (b) agree on an indent width, either 4 or 8 spaces.  If you choose
tabs, everyone has to agree on (a) using tabs in the first place, and
(b) agree on a tab width, either 4 or 8 "spaces".  It's exactly the same
choice either way, and making somebody else use spaces is exactly the
same thing as making somebody use tabs.  Obviously the world would be a
better place if everyone had exactly the same opinions... :)

> - Even if you don't setup your editor and there are no editor hints you 
> can still submit small patches with the right style by just using spaces.
> - Maybe it's slightly less likely to get patches with the wrong style, 
> since using spaces is the natural fallback if using tabs things doesn't 
> look right.
> 
> Is (b) really an issue? Both vim and emacs should handle this fine. And 
> gedit has an option for it (not sure how well it works, we should make 
> sure of that since it's the editor both we are using).

The issue is not auto-indent; pretty much everyone supports that.  The
issue is whether or not the editor skips whitespace when you hit arrow
keys.  Otherwise, you're stuck hitting arrow keys _a lot_ to get around
most places, since Ctrl+Home and Ctrl+End only work on _lines_, not
internally to them.

All of this aside, it's not a life and death matter and it certainly
shouldn't hold any progress or participation up, so if it's an issue we
can reformat the code with 's/\t/    /g' or something.

Dan

> If we want to do this we should do it now, because history doesn't 
> matter much yet.
> 
> Marco



More information about the Sugar-devel mailing list