At Flock, we talked about scheduling some kind of regular
technical-debt-fighting week to happen every so often - some period of
time where we don't do any new features (and even try to de-prioritize
interrupt-driven stuff) and focus on shoring up, cleaning up,
tightening the bolts, etc.
Here are some things broadly to think about:
- Add unit tests where there are none. Increase "code coverage".
- Write docs (and make diagrams!) where there are none.
- Reduce code duplication, and increase code re-use where appropriate.
- Break up ultra long methods, classes, and files into more
- Remove half-implemented features!
- Remove dead code!!
- Add comments where there are none, and correct inaccurate comments.
- Deal with the existential questions facing the code that none of us
wants to touch.
- Increase happiness and general zest for life.
Time-wise, how about we try and schedule a week to try this on the
first week back from the holiday break -- a New Year, a New
Infrastructure(!) That would be January 4-8th.
Here's a question I have. It seems like we could approach this in two
- We could select one or two projects we want to prioritize, and try
to do *all* of the best-practices things to them.
- We could select one or two of the best-practices things, and try to
do them to *all* of our projects.
Or.. something inbetween. If you have a preferences here, chime in on
the list, or we can take this up in our IRC meeting at the beginning
of December, too.
As an aside, it would be especially fun if we could keep track of our
collective damage on some kind of scoreboard (it doesn't have to be
automatic, even manual pen-and-paper would work) so we can produce a
nice summary blogpost at the end and thus herald in 2016, a year of
working code, less fires, and quiet mornings where we sip our coffee
and read email.
 - http://threebean.org/presentations/debt-services-flock15/
 - https://apps.fedoraproject.org/calendar/meeting/3183/