Does A Mess Constitute Technical Debt?
A blog post over at Object Mentor argues that technical debt and a mess are not necessarily the same thing. This well written blog post discusses the difference, and asserts that taking out technical debt is like taking out a mortgage: that you increase your discipline, rather than decreasing your financial discipline. The same should be true of technical debt, then.
(more…)
On Code Commenting And Technical Debt
If you’ve been in development for any length of time, you’ve probably come across a project or a company that doesn’t take the time to incorporate comments into its code. The argument is often made that “our code is self-documenting” and that commenting is just a waste of time, especially if you write clear, clean code. But I disagree.
Some people take a different view of commenting than others. Most recently, Eli White wrote an article called “Commenting on Commenting” in which he argued for commenting virtually every single line of code. He talked about working for a company where they stripped the code out and turned the comments into line-by-line documentation. But commenting to me is important for a different reason:
Paying Down Technical Debt
Much has been written about technical debt, and the way it’s both accrued and paid off. For the uninitiated, here’s the definition of technical debt:
The amount of time, money, or effort it takes to work around, manage, and fix bad decision/implementation decisions. (CaseySoftware)
Object oriented programming always leaves you with a headache. What if you could master it instead? Stop struggling with object oriented PHP. Mastering Object Oriented PHP is the answer!
Imagine if you could write clear, compelling code each and every time you sat down to work. You can do this. I'll show you how with The Ten Commandments of Clean Code.
Brandon Savage has been a software developer since 2003. Ever since discovering that he could use software to automate routine tasks, he's been hooked. Brandon is passionate about perfecting the art of software development.