Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Community » Coffee corner » gentle criticism of source organization
gentle criticism of source organization [message #4684] Sun, 20 August 2006 17:14 Go to next message
jadeite is currently offline  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 Go to previous messageGo to next message
Werner is currently offline  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 Smile ).

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 Go to previous messageGo to next message
fudadmin is currently offline  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... Smile
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... Smile

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... Smile, means, please visit more often Wink

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... Smile

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*? Smile (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... Wink

[Updated on: Sun, 20 August 2006 20:57]

Report message to a moderator

Re: gentle criticism of source organization [message #4690 is a reply to message #4684] Sun, 20 August 2006 20:06 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Well, the list is here:

http://upp.sourceforge.net/srcdoc$Core$Packages$en-us.html

Anyway, I believe that the right way how to study U++ sources is to use some examples. These

a) Will list just packages necessary for given problem
b) Will allow quick navigation through sources

Directory structure is certainly very different from "standard". However, all weird concepts you can meet with U++ directory structure are direct responses to solve problems with "traditional" approach.

E.g.:

- all (re)sources for package (source unit) should be contained in single directory (-> no separation of include files from sources)

- this directory should not contain intermediate and output files (.obj, .lib, .exe), these should be put somewhere else (e.g. so that you can simply delete the whole folder when running out of space)

- each package should now what else packages it needs to run (handled by TheIDE package system)

- system has to be independent from fixed locations, while allowing to place sources anywhere, even in multiple dirs) (->assembly concept)

Mirek
Re: gentle criticism of source organization [message #4697 is a reply to message #4688] Sun, 20 August 2006 20:44 Go to previous messageGo to next message
jadeite is currently offline  jadeite
Messages: 42
Registered: January 2006
Member
fudadmin wrote on Sun, 20 August 2006 13:44


6. Ask a lot of small questions instead of "please write for me a book about upp structure"

I didn't really mean to ask questions, rather make a suggestion (the questions were to show why I made the suggestion).

If I wanted a book, I'd use wxWidgets Twisted Evil Laughing

Anyway, using the IDE Assist++/help seems a good starting point.
Re: gentle criticism of source organization [message #4699 is a reply to message #4697] Sun, 20 August 2006 20:53 Go to previous message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
jadeite wrote on Sun, 20 August 2006 14:44

fudadmin wrote on Sun, 20 August 2006 13:44


6. Ask a lot of small questions instead of "please write for me a book about upp structure"

I didn't really mean to ask questions, rather make a suggestion (the questions were to show why I made the suggestion).

If I wanted a book, I'd use wxWidgets Twisted Evil Laughing

Anyway, using the IDE Assist++/help seems a good starting point.


Well, I see "gentle criticism", not suggestion. If you want to suggest, you have to propose different structure Smile

Mirek
Previous Topic: Interesting observation - wxWidgets vs U++ .exe size
Next Topic: about Macro
Goto Forum:
  


Current Time: Fri Apr 19 10:43:48 CEST 2024

Total time taken to generate the page: 0.04602 seconds