ewx: (poll)
Richard Kettlewell ([personal profile] ewx) wrote2007-04-03 01:26 pm
Entry tags:

(setq indent-tabs-mode nil)

[Poll #959499]

(Ignoring languages like make where you don't have any choice.)

[identity profile] ptc24.livejournal.com 2007-04-03 12:42 pm (UTC)(link)
You missed: prefer spaces to tabs where practical

Or even: prefer spaces to tabs where practical, and always use spaces in Python

so I chose the combination of options that best expressed this.
sparrowsion: photo of male house sparrow (string-handling kitten)

[personal profile] sparrowsion 2007-04-03 01:05 pm (UTC)(link)
Agreed.
simont: A picture of me in 2016 (Default)

[personal profile] simont 2007-04-03 12:47 pm (UTC)(link)
I'm somewhere between "don't mind" and "avoid". Using tabs in my free software causes me to get a steady trickle of confused mail from people who have loaded it into an editor which interprets a physical tab differently from the standard (notably Visual Studio, which AIUI can be configured into sensible mode but not per-project), and also I sometimes find it actually inconvenient during editing because tabs make complicated editor macros less predictable. So I quite like no-tabs as a policy. But I haven't adopted it yet, mostly because detabbing all my existing source would be a tedious and annoying job with plenty of scope for messing things up and would also have unhelpful effects on things like "svn blame".

Work enforces a no-tabs policy by automatic detabbing at checkin time (and you have to specially mark each makefile as exempt from this when you create it). This is surprisingly infrequently a problem, and generally seems to work well for everybody. (Though I don't think I'd go that far myself, although I might be tempted by refusing a checkin that contained an unsanctioned tab.)
ext_8103: (Default)

[identity profile] ewx.livejournal.com 2007-04-03 05:19 pm (UTC)(link)
IWBNI annotate commands had an option to skip whitespace-only changes. Maybe some do. It'd also be useful for the case where you change the indentation on some bit code because it's become conditional or repeated or something.

[identity profile] cartesiandaemon.livejournal.com 2007-04-03 12:48 pm (UTC)(link)
Not to be mixed, at all costs? Otherwise, I don't mind so much. I'm sure one is better, but I have generally been constrained, so haven't found out which.
ext_78: A picture of a plush animal. It looks a bit like a cross between a duck and a platypus. (barcode)

[identity profile] pne.livejournal.com 2007-04-05 07:43 pm (UTC)(link)
Sounds good to me.

I tended to use four spaces, but at work we settled on tabs (since different people have different shiftwidth preferences, and tabs seemed to alleviate this a little) and that works fine.

As long as they're not mixed, in which case things will only look right at one shiftwidth setting.

And what is really bad is if code that uses mixed spaces and tabs gets edited by someone who has a different tabstop setting and automatically converts tabs to spaces on saving. I once had to work on such code, and it was a mess; I wish the original tabs had remained since then I could have fiddled with my tabstop setting to get it to look proper.
ext_3375: Banded Tussock (Default)

[identity profile] hairyears.livejournal.com 2007-04-03 01:02 pm (UTC)(link)
It depends whether the IDE does indentation by inserting spaces or a TAB character.

Now for the hard question: do you do tabs in SQL?
sparrowsion: photo of male house sparrow (string-handling kitten)

[personal profile] sparrowsion 2007-04-03 01:12 pm (UTC)(link)
If your editor can't be configured to your preference of spaces or tab, throw it away and get something from the current century.
reddragdiva: (Default)

[personal profile] reddragdiva 2007-04-03 01:13 pm (UTC)(link)
[X] A four-space tab killed my parents, you insensitive clod

[identity profile] uisgebeatha.livejournal.com 2007-04-03 01:19 pm (UTC)(link)
*puts on novice geeky hat*

Well, we were taught that tabs in your code, when used correctly, make your code clearer (and certainly, in Java I found it useful to mark out where different methods were in the flow of things). On the other hand, having tabs but no curly braces (like in Python) confuses rather than helps me for some reason. :/
ext_8103: (Default)

[identity profile] ewx.livejournal.com 2007-04-03 01:44 pm (UTC)(link)
I think you've confused tabs with indentation.
ext_8103: (Default)

[identity profile] ewx.livejournal.com 2007-04-03 02:04 pm (UTC)(link)
The first half of this article (http://www.jwz.org/doc/tabs-vs-spaces.html) may help to clarify.

[identity profile] gareth-rees.livejournal.com 2007-04-03 01:31 pm (UTC)(link)
The trouble with tab characters is that they don't, by themselves, specify enough information to display them. You need to know where the tab stops are; in the absence of this information then there's no reason to expect text to come out looking the same way in different environments.

[identity profile] pseudomonas.livejournal.com 2007-04-03 01:42 pm (UTC)(link)
                        
         
     
       
        
        
     
       
       
     
       
       
        
      
     
        
       
(http://search.cpan.org/~dconway/Acme-Bleach-1.12/lib/Acme/Bleach.pm)

[identity profile] pseudomonas.livejournal.com 2007-04-03 01:56 pm (UTC)(link)
That looks highly sensible.

[identity profile] cartesiandaemon.livejournal.com 2007-04-03 02:25 pm (UTC)(link)
I think I urgently want something like this; I've yet to think about what's actually possible (but for the moment, it would have to be backwards compatible with turning-into-spaces at work).

[identity profile] fluffymormegil.livejournal.com 2007-04-03 06:12 pm (UTC)(link)
/* vim:ts=8:sw=4 */
ext_78: A picture of a plush animal. It looks a bit like a cross between a duck and a platypus. (Default)

[identity profile] pne.livejournal.com 2009-05-25 03:51 pm (UTC)(link)
What's the setting of 'et'?

[identity profile] fluffymormegil.livejournal.com 2009-05-25 06:51 pm (UTC)(link)
These days, I have expandtab switched on.