[josm-dev] Source code formatting template?
GeoJ
geoj at quantentunnel.de
Wed Aug 27 09:11:20 BST 2008
Frederik Ramm wrote:
> Would you be able to supply such a style sheet that approximately
> matches the current formatting (as far as this is at all discernible)?
Of course they are not all discernible - I would be surprised if not. I
checked a small randomly chosen file set and compared the differences:
1. Indentation: space vs. tab
The files I checked use mostly tabs for indentation - at least for the
first two or three levels. Afterwards I found more often spaces (mixed
indentation). Fully space-only indented files were rare in my file
sample set.
2. Maximum line length:
A large number of files do contain very lengthy lines, mostly for
defining strings with display messages. Other files use a maximum line
length of ap. 100-140 characters (which is my favorite setting, too).
Files with a max. line length of 80 characters are very rare.
Additionally I made some test with a formatter derived from the default
Eclipse formatter. The major differences were:
1. JavaDoc sections: the formatter compacts this sections and removes
line breaks and alignment spaces which is unfamiliar at a first glance,
but IMHO it is not bad as it shows how the JavaDoc comment will look
like in the generated HTML-JavaDoc.
2. Spaces before and after operations: = < > + - * /
> It is vital that no part of JOSM *requires* Eclipse but as far as I
> understand you're just talking about something that helps you format
> code, right?
Exactly. It only changes indentation, whitespaces, linebreaks and comments.
> If possible I'd like to avoid emitting ^Ms, and also I dislike tab
> indentation because every editor handles them a bit differently so
> they're bound to cause trouble.
Using tabs for indentation are only a problem as long as you mix them
with spaces (in one file). If you have a tab-only respectively
space-only indented file it makes no difference. AFAIK, the default Java
style is indentation by spaces, the Eclipse default uses tabs (but that
can be changed easily).
GeoJ
More information about the josm-dev
mailing list