Many people working on Delphi projects may not have given much thought to memory management. You may think that there is little need to study the subject, and depending on the nature of your projects, that may be true. But it is always good to increase your understanding of what Delphi is doing, and how…
Embarcadero Webinar
Yesterday (27 October 2022) I presented in an Embarcadero webinar on the subject of my book. Attendance was very good, and response was very positive. The presentation content can be downloaded as a PDF here. The webinar is available now on youtube. You can also read a review of the book here: https://dalijap.blogspot.com/2022/06/book-review-delphi-legacy-projects.html. I welcome…
Organization as Strategy
Software design is greatly a matter of good organization. Legacy software projects are often lacking in that very quality. Although the topic is very large, this article will focus on a smaller area. Constants and types are essential to good design. The scope of these declarations is worth more consideration than it is often given….
Component Longevity
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.