[Lazarus] debugger feature request created
Hans-Peter Diettrich
DrDiettrich1 at aol.com
Fri Oct 2 14:03:33 CEST 2009
Martin schrieb:
> I am not sure what was required to be down striped, but I would be
> surprised if the reason for not doing it was eye candy. So I doubt that
> a branch would help.
There exist a couple of troublesome elements in basic classes. IMO the
Controls unit with those many managers deserves downstripping and
refactoring, for better maintenance and extensibility. It should be
reconstructed bottom-up, with defined hooks for features and
implementations to-be-added.
> It has been done the other way round. Where huge experimental changes
> have been done in a branch and later merged. For example the "lcl
> smartlink" branch.
That's okay with modifications of almost known impact, which are
implemented by a single person. Refactoring with an impact on many
places cannot be done this way.
You're right, a branch for itself won't help. What I want is an extract
of the existing code, from which in the first step everything is
excluded that is not documented in Delphi or somewhere else, and that is
not fully implemented and tested. The excluded functionality is replaced
by hooks that allow to add according code later, with little impact on
the remaining code. When the design is okay, it should be extensible by
simply adding modules to the core implementation.
> I am sure if there was a request, and someone behind it to do the work,
> and if the concept of the changes was *agreed* on, then a branch could
> be created, and later merged back (just my opinion).
Merging back should not really be required in a modular approach. It's
the required redesign of the base classes, that is usually blocked by
"it works as is, why change it?", and by the consequential work required
in other places of the existing code base :-(
> As for getting the essentials done. the problem is to find a volunteer.
> The "developers" are volunteers too, they do what they volunteered for.
> Not what some one else would want them to do (well actually plenty of
> times they do, what others want).
It's not a matter of *what* somebody wants to do, but IMO a matter of
*how* it should be done, if ever. Bloating the code base should be
allowed *only* with according documentation, everything else should be
kept out of the trunk. But actually the privileged project members work
on what they like to do, leave critical pieces "for later" - meaning
"somebody else shall do it" - and then continue with something else.
Many contributions are blocked this way, when they deserve hooks that do
not already exist in the code base.
IMO we should have an independent project management, establishing the
goals (and priorities) for a usable product, and kind of quality
control, that is entitled to request documentation and verification from
the implementors. All contributors should be proud of having their
contributions acknowledeged and added to the project, not only of "I
added something that looks useful or nice".
DoDi
More information about the Lazarus
mailing list