[Lazarus] IDEIntf: Extract PropHooks from PropEdits unit
Alexander Klenin
klenin at gmail.com
Sat Jan 23 12:05:00 CET 2010
On Sat, Jan 23, 2010 at 20:06, Mattias Gaertner
<nc-gaertnma at netcologne.de> wrote:
>> That is one possible reason.
>> The other reason (which was the actual reason I undertook the refactoring)
>> is that, at least for me, there is a certain threshold of ugliness
>> after which I am just
>> unable to unravel the current design and understand it enough
>> to make a needed change, even if the design itself can accommodate it.
>> This property is often called 'unmaintainability'.
>> Of course, the threshold is different for different people, but I consider
>> 6000 LOC in a singe unit to be far beyond any reasonable level.
>
> General speaking:
> Readability alone is a bad reason to break compatibility.
> Readability can be improved by comments, class-trees, examples,
> tutorials and include files.
Readability is just one factor contributing to maintainability.
PropEdits code is actually rather good in that aspect.
But to understand the design proper modularity is very important too.
PropEdits is a tangled web of interdependent classes,
and it is hard (to me, almost impossible) to have a clear mental
picture of all these dependencies.
Such a picture is required to understand and fix the bugs and to
develop new features.
I wanted to improve the modularity by separating code into a layered units
and breaking circular dependencies.
Anyway, this is not a great problem, so I give up.
I will instead submit bugs to Mantis in the hope that some person
smarter than me
will be able to fix them ;-)
P.S. What is the "class-tree"?
--
Alexander S. Klenin
More information about the Lazarus
mailing list