Helltime for March 30
Announcing a new regular feature to I Built His Cage: Helltime, a twice-weekly sampling of various development-themed blog articles, news stories, and pages, with my commentary mixed in.
It is named after the Helltime property of the Artifact from Doom 3: Resurrection of Evil. It makes you go extremely fast, or it slows down everyone else, depending on how you look at it. In any event, the name implies that I should spend no more than an hour on Helltime posts.
The posting schedule shall be Mondays and Fridays, excluding this debut, which is retro-active. And I do realize that if I keep this up, the Helltime category and tag will be the largest on this blog.
Announcer: Now for quick hits and commentary on software development topics from around the web, the EIP web-ring brings you the stigmatized spawn of a refactory, MoffDub, and Helltime!
- One blog that seems to keep popping up on Proggit is Kas Thomas’s assertTrue(). This time, Kas writes on the topic of Intentional API Design, imploring people to think before they code, lest they incur technical debt that cannot be paid off.
Oh, it’s too painful and too close to home for me. My changes in a legacy application that won’t die unwittingly broke an entire segment of functionality. I am to blame, but in other ways, I am not, since adding one list of hash maps of array maps resulted in twenty new lines of code and changes to six class files.
And the API, if you want to call it that, is so convoluted that you end up writing code by balancing the need for the code with the uncertainty of whether you need to write it.
- Juan Manuel asks Stack Overflow: What is your best friend as a programmer?
As much as I’ve grown fond of Eclipse’s Call Hierarchy, Type Hierarchy, and refactoring functions, I’d have to say that having any sort of diff tool is essentially when you’re working with any amount of code for any reason. Commenting out code gets very ugly very quickly, even if you’re the only developer.
- The uncannily-named Code Of Doom blog has an interesting spiel on Rebuilding vs. Refactoring, though I can’t say I agree that the one project no one wants to work on is the horrible, poorly designed codebase.
Let me rephrase. I’d love to rebuild a shoddy codebase, and the post points out that this is only warranted when a system can no longer be maintained without enormous friction. The way to avoid having to do a full re-build is consistent refactoring and maintaining unit tests. Since I am an Odorless Code Dreamer, I am medically built for this, though sometimes I think I am totally alone.
And folks, one more way to avoid rebuilding an application is to stay away from it and build an anti-corruption layer around it. Who says green fields are so far away?
|Announcer: You’re reading the EIP web-ring.|