Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2009-11

Documentation of Lazarus internals

4 messages · 3 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Juha Manninen

Hi,

I am trying to learn how Lazarus works.
Is there any source code documentation that is more detailed than the rather abstract level wiki pages but less detailed than the source code itself? Like class diagrams? Other UML style diagrams? Source code comments? FPDoc XML files? Anything?

For example Codetools seems to be a complicated piece of SW which I would like to understand. I only found a brief page:
http://wiki.lazarus.freepascal.org/Codetools

and then I find:
lazarus/docs/LazarusIDEInternals.pdf

which don't really help much.

It would be nice to look at a class diagram, then a use case diagram and then maybe a sequence diagram to get an idea of how it works and which class does what. Then read the class and method level documents made with FPDoc. And then finally read source code when the big picture is clear.

If there is no such documentation ... well, then I must say that my own programs are well documented after all. I thought I had a problem with poor documentation.

Regards,
Juha Manninen

Reply by email

Mattias Gaertner
to Juha Manninen
Show quoted text 16 lines
Hi, I am trying to learn how Lazarus works. Is there any source code documentation that is more detailed than the rather abstract level wiki pages but less detailed than the source code itself? Like class diagrams? Other UML style diagrams? Source code comments? FPDoc XML files? Anything? For example Codetools seems to be a complicated piece of SW which I would like to understand. I only found a brief page: http://wiki.lazarus.freepascal.org/Codetools and then I find: lazarus/docs/LazarusIDEInternals.pdf which don't really help much.

There are examples in components/codetools/examples.

It would be nice to look at a class diagram, then a use case diagram and then maybe a sequence diagram to get an idea of how it works and which class does what.

Can you suggest tools to create them?

Show quoted text 7 lines
Then read the class and method level documents made with FPDoc. And then finally read source code when the big picture is clear. If there is no such documentation ... well, then I must say that my own programs are well documented after all. I thought I had a problem with poor documentation.

What do you want to do? Maybe I can start the documentation with that.

Mattias

Reply by email

Juha Manninen
to Mattias Gaertner
Mattias Gaertner wrote
There are examples in components/codetools/examples.

Ok, I will look at them more closely.

Show quoted text 5 lines
> It would be nice to look at a class diagram, then a use case diagram > and then maybe a sequence diagram to get an idea of how it works and > which class does what. Can you suggest tools to create them?

I honestly don't know the free / open source UML tools. In my previous work I tried the Delphi's integrated UML tool and also ModelMaker. They are bi- directional and changing a class diagram changes code. I didn't like it because it was too easy to mess up the whole source. Later I used Rational Rose for different UML diagrams. It is very good but it is commercial and not suitable for Lazarus documentation.

It is important to notice that a class diagram is most useful when it doesn't include every detail. That's why the synchronized source <--> diagram link is not the best idea.
A class diagram should have only the essential parts and their relations. The details can be found in source code but the diagram tell you where to look for those details.

There seems to be many free UML tools available. Maybe someone has used them and can say which one is good.

Show quoted text 9 lines
> Then read the class and method level documents > made with FPDoc. And then finally read source code when the big > picture is clear. > > If there is no such documentation ... well, then I must say that my > own programs are well documented after all. I thought I had a problem > with poor documentation. What do you want to do? Maybe I can start the documentation with that.

I was planning to look at the Delphi converter more. I need to learn quite much code to understand it.
To improve the converter I would make it more automatic, set all unit dependencies correctly, make the converted file compile with both Delphi and Lazarus... Just ideas...
I could even have some time to spend for an open source project.

I am not blaming any of you for not making documents. I know it does not feel like a top priority for any programmer.
However I am wondering how does a big project with many programmers survive without good documentation. At least it is more difficult for new people to enter the development. Or maybe some people are so smart they don't need documents, don't know. How do other projects do it? I haven't studied it much.

Regards,
Juha Manninen

Reply by email

Hess, Philip J
to Juha Manninen

________________________________________

Earlier message 18 lines
From: Juha Manninen [] Sent: Friday, November 13, 2009 9:01 AM To: Subject: Re: [Lazarus] Documentation of Lazarus internals >I was planning to look at the Delphi converter more. I need to learn quite >much code to understand it. >To improve the converter I would make it more automatic, set all unit >dependencies correctly, make the converted file compile with both Delphi and >Lazarus... Just ideas... http://web.fastermac.net/~MacPgmr/XDev/XDevStatus.html#CodeConverters There are also a number of posts in recent months on the Lazarus forum re the problems of converting Delphi projects to Lazarus. Thanks. -Phil

Reply by email