Posts

Showing posts from June, 2005

Pragmatic Programmer: From Journeyman to Master

I've read Pragmatic Programmer: From Journeyman to Master last week. It was pretty good, although if you have a few years of experience and good practices, you should be familiar with most of what it says, even if you don't follow it in practice :-) . Some of their bullet points are: - Don't duplicate - Write flexible code - Use Contracts, assertions and exceptions - Test - Automate where possible - Use a version control system. Obviously, many of these points have a lot to do with refactoring and XP. They also have another neat book on Automation, Pragmatic Project Automation: How to Build, Deploy, and Monitor Java Apps . Obviously that is much less relevant to a Delphi programmer, but you can still learn quite a bit from it. After I started reading it, I automated large sections of my build and release process (in PHP - it's easy to use in the command-line, too, and some parts are re-usable on the site). It saves a lot of time and enables you to stop worrying if you

Working Effectively with Legacy Code

I recently read Working Effectively with Legacy Code . It was an excellent book. It focus on legacy code, defined as code that doesn't use unit testing - yes, it is a narrow definition :-) . It has an excellent range of techniques for refactoring and getting older code under test, as well as adding features without breaking anything. If you have an older program that you are moving under a testing framework, the insights on the book are well worth the price. In particular, the various ways to get objects decoupled so that you can get them tested without creating a lot of support code are very useful.