Latest articles on CodeFez

published: Mon, 3-Jan-2005   |   updated: Mon, 16-May-2005

Here is a list of my December editorials on CodeFez.

My op-ed pieces are supposed to come out every Thursday, but December being December, plus a project coming to an end just before Christmas, meant that they appeared rather willy-nilly throughout the month. Nevertheless, since there were five Thursdays in December, I did manage to write five articles for your delectation.

Iterative Design (2-Dec-2004). Test-driven development teaches you not to do all your design up front. Your implementation is an organic thing that evolves as you write test cases and implement the code. Refactoring functionality in your IDE helps a great deal; by taking small steps and being rigorous in refactoring out duplicate code and other code smells, you polish your implementation. Seldom does the end product look like what you might have designed up front.

Using Analogies in Software Development (17-Dec-2004). I've done it, you've done it: when we're talking to non-developers (aka, normal people), we sometimes use analogies to describe what we do. We use these analogies because they are helpful. Nevertheless, danger often arises when we infer too much about software development from our analogy.

Thinking about dynamically-typed languages (27-Dec-2004). A constant battle rages about which language is best, on which language Microsoft should be spending more time, and, let's not forget, in which language the .NET Framework should be developed. However from the sidelines I have been watching another development taking place: the rise of dynamically-typed languages; a development that I think renders some of these turf wars moot.

Fixed price and scope contracts (28-Dec-2004). Fixed price contracts come with a set of built in risks for both the developer who takes the contract and the company which assigns the work. Are the risks worth taking? Do Agile methodologies provide a good alternative? I take the time to explore these issues and to explain why they are important.

On micro-optimizations (28-Dec-2004). Micro-optimization occurs when you apply a local-in-scope rule to your code without actually testing to see if it makes any difference to the performance of your application as a whole. Read on to learn about the best times to optimize, and the best times to avoid unnecessary optimizations.