"Raymond Hettinger" firstname.lastname@example.org writes:
FWIW, I posted two recurring examples of where it is awkward in normal python programming. One, raising exceptions with messages -- the message doesn't typically start until 30th column or so.
As was covered earlier in the thread, cases like that are why the following style makes sense for call parameters::
def error_emitter(): raise some.name.space.LongDescriptiveError( "Message for the error" " which can cross multiple lines if necessary", other, args)
Two, in unittests using self.assertRaises(SomeException, expr), the expr part doesn't typically start until the 35th column or so.
class FrobnicationTest(unittest.TestCase): def test_frobnicates_the_spangle(self): self.assertRaises( SomeException, expr)
So neither of these use cases is materially harmed by an 80-column limit.
I think the Google example is instructive. Their two space tabs are not a natural preference for anyone I know. Instead, it is an accommodation born from trying to fit nested, indented code into 80 columns. I'm pretty much in agreement with the OP that going to 90 or 100 columns is a better solution.
Given the available options for making code fit nicely within 80-column lines and 4-column indentation levels, and the benefits to be had from doing so, I don't agree with your position.
-- \ “Never express yourself more clearly than you are able to | `\ think.” —Niels Bohr | _o__) | Ben Finney