Home » Community » Coffee corner » gentle criticism of source organization
gentle criticism of source organization [message #4684] |
Sun, 20 August 2006 17:14  |
jadeite
Messages: 42 Registered: January 2006
|
Member |
|
|
Hi Folks,
U++ 605
Please don't take this the wrong way, I am not trying to criticize in a negative way.
A couple of things I have found that make U++ hard to learn, is the organization of source in uppsrc and folder/file/class names. For example, when I look in uppsrc, I see a subset of folders named:
Core
CppBase
CtrlCore
CtrlLib
Draw
TCore
TCtrlLib
TDraw
Now, it is not clear what the difference is between Core and CppBase. If I want to look at the painting of a control, such as a button, would I look in CtrlCore, CtrlLib, TCtrlLib, Draw, or TDraw? What about event architecture? Is that something likely to be in Core?
When I look in TCore folder, I see dd_cpp.h and dd_h.h. These appear to be something related to a database, but it is not clear what it is for or why the name dd_cpp and dd_h were chosen.
The online documentation does help with some of this. It might be nice to have a section describing the source organization, to help the user decide where to look for various features.
Regarding Button, I look in CtrlLib and find Button.cpp, which has the implementation for class Pusher and class Button. So, I go to find the declaration of these classes in a header, and alas, there is not a Button.h file. I finally make my way to PushCtrl.h and find class Pusher and class Button (along with other 'push-related' classes. This is all confusing. Perhaps a comment is in order in some .cpp files to clarify what .h files the various classes are declared in.
Cheers.
[Updated on: Sun, 20 August 2006 17:18] Report message to a moderator
|
|
|
Re: gentle criticism of source organization [message #4686 is a reply to message #4684] |
Sun, 20 August 2006 18:23   |
Werner
Messages: 234 Registered: May 2006 Location: Cologne / Germany
|
Experienced Member |
|
|
At first glance the upp structure indeed seems to be quite a bit confusing. And much to my regret I have to admit that I don't like each and every part of it (to express it in a euphemistic way ).
On the other hand you might want to consider two facts:
1.
The organisation of Ultimate++ differs considerably from comparable GUI tools. Please refer to "Help Topics / Packages, Assemblies & Nests".
2.
The current Ultimate++ is the result of many years of development. New insights might suggest new solutions. But you are not always willing or even able to replace tried and tested code.
Nevertheless do not lose heart! Just use the built-in features of "TheIde". Explore "Assist". Especially "Ctrl+W", "Alt+I", and "Alt+J" might prove very useful.
Werner
[Updated on: Sun, 20 August 2006 18:25] Report message to a moderator
|
|
|
Re: gentle criticism of source organization [message #4688 is a reply to message #4684] |
Sun, 20 August 2006 19:44   |
 |
fudadmin
Messages: 1321 Registered: November 2005 Location: Kaunas, Lithuania
|
Ultimate Contributor Administrator |
|
|
My tip for upp exploration logic:
1. Because the first thing you include for GUI is <CtrlLib/CtrlLib.h> , that means you click on the package CtrlLib and learn the file names first... 
2. Second thing, you open the top file in the package e.g CtrlLib.h and see what is included e.g CtrlCore.h . So, logically, you open the next package the name "CtrlCore".
3. Go to 1 and repeat the loop... 
4. When you are in the mood, use Ctrl_G to open (see) members in each file...
5. Catching exceptions: - throw your questions on forums before frustrations happen... , means, please visit more often 
6. Ask a lot of small questions instead of "please write for me a book about upp structure"
e.g "what the difference is between Core and CppBase?" in appropriate sections... 
BUT!!! More direct approach is better. I mean, learn what you need to learn and ask even better questions like:
"how to do that and that...?"
P.S. How did you find the need for TCtrl*? (I've never opened it...)
P.S1. My example of a good learner would be Luigi (forlano)... Read his posts here and see what he was able to achieve in a relatively short time (one month)! But he has been visiting forums *many times* every day since...
[Updated on: Sun, 20 August 2006 20:57] Report message to a moderator
|
|
|
|
|
|
Goto Forum:
Current Time: Mon Apr 28 18:03:55 CEST 2025
Total time taken to generate the page: 0.00807 seconds
|