[Lazarus] reverse engineering tool wanted
Graeme Geldenhuys
graemeg.lists at gmail.com
Wed Apr 20 09:55:54 CEST 2011
On 20/04/2011 08:58, Juha (gmail) wrote:
>
> Don't waste your time with ESS-Model.
I never liked it much myself, I just thought I would mention the product
to the original poster.
> It uses a complex delegated interface system to pass events. It is not fully
> supported by FPC.
That's one part of FPC that has frustrated me greatly. I used interface
delegation extensively in my Delphi work, but when we switched to FPC, I
had to rethink all my design work. FPC trunk finally has some interface
delegation working, but I haven't played with it much. I avoid FPC trunk
for our commercial development work. I have some large fpGUI changes
that uses interface delegation, but can't commit those because fpGUI's
policy is only to use stable FPC releases. A lovely chicken-n-egg
situation. :)
> All drawing objects are TWinControls. It uses some tricks to access protected
> methods of those TWinControls.
Helper Classes or more interface usage should help there.
> In fact it doesn't work with new Delphis either because of Delphi's changes in
> interface delegation.
Have you got any link to this information. I would like to know more on
what has changed. I've been out of the Delphi scene for a few year now.
> Still, we would need a reverse engineering class diagram tool integrated in
> Lazarus. It would use some advanced algorithm for automatic layouting.
My personal opinion is than an "integrated class diagram / UML tool" is
largely over-hyped. I use Umlet to design my classes and other processes
(it has a brilliant interface to work in), then simply implement them
with any IDE or code editor. This process has worked very well for
years. I see no real need to have a diagram tool integrated into my IDE.
That will just distract me more from writing actual code - constantly
having to switch to different areas in the IDE and figuring out the
auto-generated code snippets. Plus the automatically generated code
might not be how I would have done it manually, or in my coding style.
Now refactoring tools inside an IDE is another story - that is far more
important to me, and fits well with the process of writing code.
For an example of a well thought out IDE, take a look at some of the
features of IntelliJ IDEA! Yes it has UML class diagram support, but
that is not required to output lots of working code in a very short time.
ModelMaker for Delphi is a bi-directional UML+code editor. It's a real
pain having to switch tools back and forth while all you really want to
do is write code. Plus, if you fiddle too much with the auto-generated
code, you brake the link between Delphi and ModelMaker - yet another
annoyance.
I guess this is all personal preference, and largely based on what you
are used too, and how you work. Bottom line is, I see no problem with
first designing your application & classes on screen / paper, then
switch to "implementation mode of thinking" where you start writing the
actual code.
Regards,
- Graeme -
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/
More information about the Lazarus
mailing list