When one opens an existing file written by a different party, puts in a fix that matches the style of the initial author with no traces left behind (except cvs knows :) )
I see good and bad with "Ninja Coding."
the good
When maintaining code other folks code I'm a very
ferverent believer in the concept of "First,
do no harm." If patching you do improves the code
and you end up leaving no footprints behind then all is
well. Having said that leaves me a very good seque into
the bad
the bad
If you patch somone else's code and an unforseen
consequence of that patch comes up then you need to be
in a position where you can be accountable for that
patch. Not for the purpose of guilt, punishment or anything
negative like that, but more a case of being able to
answer the question "OK, what did you do and
where?" Trust me, I have a PHB that modifies my
code (and the code of other co-workers of mine) without
telling anybody what he did and things break usually in
the wee hours of the morning. PHB doesn't even use
CVS to track his change.
When coding in a cooperative environment it is a good thing
to maintain lines of communication. So if I change
someone else's code I usually put comments in that
explain that a) I did it, b) what I did and c) what my
rationale was for doing it. Sometimes I've had to
modify someone's code due to a bug report or a service
ticket so I put the MR or ticket number in the comments
as well as in the CVS log message.
Note: for those not exposed to Dilbert®,
PHB means Pointy Haired Boss.