i've been developing within Galaxy for awhile now and have been enjoying it quite a
bit. i've seen portions of similar ideas in the past, but never cohesively assembled
and so well realized.
i'd like to make some suggestions for further code collaboration / community
my default development environment seems to occasionally be causing havoc within my local
repository. upon saving, i normally automatically strip right-sided whitespace to stay
compatible with other developers i collaborate with. this also fixes the auto-indentation
left by my editor when it occasionally leaves a line consisting of only spaces.
given that python has syntactically significant whitespace, i also try to maintain the
convention of indentation with four-spaces. i've noticed this isn't consistent
within the codebase, but does seem to be the preferred style such as in
python comes packaged with the script `reindent.py`:
Change Python (.py) files to use 4-space indents and no hard tab characters.
Also trim excess spaces and tabs from ends of lines, and remove empty lines
at the end of files. Also ensure the last line ends with a newline.
this is recommended practice per PEP 8:
Tabs or Spaces?
Never mix tabs and spaces.
The most popular way of indenting Python is with spaces only. The
second-most popular way is with tabs only. Code indented with a mixture
of tabs and spaces should be converted to using spaces exclusively. When
invoking the Python command line interpreter with the -t option, it issues
warnings about code that illegally mixes tabs and spaces. When using -tt
these warnings become errors. These options are highly recommended!
For new projects, spaces-only are strongly recommended over tabs. Most
editors have features that make this easy to do.
other comments in regards to collaboration:
hooks can be added to the repository for consistency, as i'm sure with the many
contributions received this would be easy to miss:
would anyone be opposed to me fixing up the current codebase to adhere to this? running
`reindent.py` on the files is easy enough, i'm willing to step through the files
(`opendiff` / `FileMerge.app`) and verify no unlikely syntactic changes have occurred. i
can also deliver changes in gradual "chunked" pull requests to ease current
developers getting possibly bit by merge issues.
would anyone be willing to add the appropriate hooks to the central repository as well?