I am in the wretched thick of just such a project right now. The code is horrid. One key practice for me is to make one code change at a time and to do it in a (git ...) separate branch. This makes parallel sets of changes which are more-or-less tagged to why I made them. I am also keeping a “running log” – a diary – of everything that I am doing, and I’m making the entire team do the same thing.
The “Dealing Effectively” book, mentioned earlier, is one that of course I have looked at, but, having looked at it, didn’t buy. I felt that it might be “the cat’s meow” if you happened to have stumbled upon a bunch of object-oriented code that just wasn’t quite up to snuff, but it had very little practical advice to offer with regard to the large mass of existing (true “legacy”) code that wasn’t built that way.
Be wary of “change for the sake of change,” or what a former colleague of mine once called, “making it ‘–er.’” You need to familiarize yourself with the code very thoroughly, and then consider what is the least intrusive set of changes that must be made in order to satisfy the new requirement. Sometimes that isn’t the right approach: sometimes the thing is so near dead that you have to grab the ol’ defrib paddles and shout, “Clear!” But just remember that, if you blast the thing apart, you still have to put it all back together and send it running down the road at sixty miles an hour ...
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|