On Friday 15 July 2011 15:36:45 KennyTM~ wrote: > On Jul 15, 11 10:07, bearophile wrote: > > Jonathan M Davis: > >> do not want to be forced to write code in someone else's style. As > >> long as people don't do completely crazy stuff with formatting, it's > >> generally easy enough to read code such that the formatting really > >> shouldn't be an issue. > > > > But Mark Chu-Carroll is very smart and expert, he's always worth > > listening to. > > http://en.wikipedia.org/wiki/Appeal_to_authority ;) A coding standard is > good, but a it is often enforced only within one organization, not > necessarily for the whole language. > > Anyway, D has http://d-programming-language.org/dstyle.html, which is > applied to Phobos, at least. I think it is already up-to-date, except > the [80, 120] maximum line width and '{' on its own line rules? This has > been discussed several times already. > > (Speaking of which, druntime should also follow this style convention. I > cringe when adopting my code to the original style > (`f(<space>param<space>)`) of core.demangle.) > > Let's make a bugzilla listing out all lacking (or over-restrictive) > recommendations in dstyle.html.
It's mostly correct. The main items that needs to be removed are * Operators are separated by single spaces from their operands. * Two blank lines separating function bodies. * One blank line separating variable declarations from statements in function bodies. These are not necessarily held to in Phobos, and I know that Andrei in particular doesn't like the "two blank lines separating function bodies," so we're not requiring any of these. The brace on its own line and the line length limit need to be added as notes for Phobos, but I'm not sure that they really need to be put in the style guide as if we were recommending them for the language at large. Other than that, it might need a few minor tweaks (like making it clear that constants should generally be camelcased just like other variables), but glancing over it, I believe that it's essentially correct (except for what I mentioned above). I keep meaning to create a pull request for the fixes to it, but I haven't gotten around to it yet. - Jonathan M Davis