Over the last couple of days I have been searching for some components I want to use in a project to illustrate my writing. There are, of course, many great components out there in open source, and often the struggle is simply to choose one. In this case, however, there seemed to be many choices,…
Sober Reflection
In my book I wrote that we may be the enemy. Delphi is a powerful tool, but is not free from defects. Any non-trivial software has defects. All too often we may find cause to complain of the IDE, and some of those complaints are surely justified, but what role have we played in introducing…
Those pesky details…
The little things in code are easily overlooked, and can be the source of problems which are difficult to diagnose. Consider the conversion of a string to a number: 1 d := StrToFloat(NumericString); What could go wrong? Well, many things, actually. In writing this, you no doubt were thinking of the problem at hand, rather…
On Naming
We often hear that naming in software is difficult, and it certainly can be. But equally, it is an essential part of the job, so the proper attitude would be to spend some time and effort and improve our skills. Or, we could find another line of work. It’s just that important. I have done…
An Essential Principle
As a friend has written in a book I am proofreading: “…if you don’t know how to write good code in simple scenarios, you will certainly never learn to write good code in complex ones.” Ponder that, don’t just rush on. I know that many developers give greater attention to complex coding tasks than to…
Starting Out
When we start any new activity, there are challenges, which we are likely to label as problems, at least at first. This is true of programming, and certainly is true of writing, whether on a blog, in a small article, or in a book.I chose to write a book, having been motivated by years of experience…
Thoughtful Design and Coding
Adventures in the act of development Articles here describe my experiences in software design and development. Categories: Data Design Scope Clear Coding Effective Naming Useful Commenting Best practices will influence all articles here.