Disclaimer: I work in a research lab, where I'm one of the better programers of a team, partialy due to the fact that the majority is no programmer at all. > That's not to say you can't enforce coding standards for other > languages, but for Python it's been a clear decision to make it part > of the language, and many people appearantly see a benefit to this. > > And you can't enforce a coding standard everywhere. hehe :) I don't abide the rules (of C coding guidelines), but they can not punish me for it. I'm too valuable. In the very same project, I've seen code adhering to the guidelines that was so subtly wrong, that you need to read it several times to realize there might be something wrong. That was code by one of the qualified programmers, not written by the majority. In a similar spirit of the coding guidelines, we threw programming abstractions at the majority, which they could not understand and hence abused. We can not blame the majority, but only ourselves. I know much more about software engineering now, then I knew before the project started. Otoh, we had hired ppl that should know more about SE than I did. They couldn't even program. Coding guidelines don't help in that case. Coding guidelines are some way of managers to get control. It seems to me, at least. But controlling software is so much more. I've read so many code from starters (as student assistant) and kernel and other open source projects, that I hardly care about coding standards. Consistency and naming are more important than a required description of the second parameter of some function. it feels good to read some other document (sbout guidelines) of my company that states as first or second clause that guidelines should be applied with wisdom; The guidelines AND exceptions are allowed, as long as there is a reason. > Controlled > corporate environments could maybe get away with it (although I'll > leave you to convince our engineers to not tar-and-feather you for > bringing up the concept), many an open source project would not be > able to do so without losing contributers. People can get all hot and > bothered when someone 'attacks' their coding style. At least you get > to skip that discussion in Python projects. mayhap. Somehow, there are lots of funny Ruby conventions that get enforced by matz optimizations as well. Most of those are really good. There have been a few discussion about this, recently. In C: if( myfunc (param)) I mean, get real. as if ``if'' is a function and (param) is a boolean expression. C'mon. ``If'' can be a function (in certain languages!), param can be a boolean expression, but (param) is a (set of) parameters to the function myfunc. There should not be a space there. Period. Or am I being obnoxious here? if (myfunc(param)) /* talking C here */ > And there's the issue: what's more clear to you could well be utterly > unreadable to another. That's a huge part of the problem in Software Engineering. It's psychological, not mathematical. > > Some but not many. Only C and VB though. > > I feel your pain. At least I convinced my colleagues to use linux. +--- Kero ------------------------------ kero / chello.nl ---+ | Don't split your mentality without thinking twice | | Proud like a God -- Guano Apes | +--- M38c ------- http://members.chello.nl/~k.vangelder ---+