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[1]. 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 understandable chunks. - 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[2]. Here's a question I have. It seems like we could approach this in two different ways: - 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. -Ralph [1] - http://threebean.org/presentations/debt-services-flock15/ [2] - https://apps.fedoraproject.org/calendar/meeting/3183/
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ infrastructure mailing list infrastructure@xxxxxxxxxxxxxxxxxxxxxxx http://lists.fedoraproject.org/admin/lists/infrastructure@xxxxxxxxxxxxxxxxxxxxxxx