[fpc-pascal] What is the difference between the declarations at the beginning of a class and those declared in the public section?

Marco van de Voort marcov at stack.nl
Mon Nov 7 09:39:09 CET 2011


In our previous episode, Graeme Geldenhuys said:
> Correct, but that is what Borland, CodeGear, Embarcadero and Lazarus
> call "RAD development".  I consider RAD just great for prototyping,
> not for real-world apps that need to be maintaing my many programmers
> over a decade or two. RAD promotes a lot of bad habbits: bad OOP
> design by making everything public, mixing business rules in the UI
> code via easy event handlers in a form etc etc.

Strangely, I would have agreed in my previous job. There we had a big
monolithical app that was maintained by a team for one big customer.

In my current job every project is a heavily customized variantion on a
basic framework, and the requirements and direction of the project are quite
often have hard to predict. If you have to write off a higher percentage of
the work you do on the current project only, one can be less principal in
these things.
 
> The major problems comes in due to the Form Designer in Delphi and
> Lazarus. The Form Designer solely works due to RTTI, and for RTTI to
> work you need Published properties - thus publicly visible to all.

Having to publish the form elements is not elegant or perfect, but I
understand the reasons and IMHO it is not really a problem.

But IMHO information hiding should just be a first order safeguard, not a
micromanaged contract. 



More information about the fpc-pascal mailing list