Hi all,
What I have read ( I read all the thread) is very interesting, and
full of good things, but if I can, they are IMO two - at least -
problems ( and I come lately, sorry).
My purpose is to contribute to the debate first, and what follows is
only my little experience. Of course everything is maybe not always
interesting .. I sometimes am verbose ... :-)
Let's imagine I'm a new dev willing to contribute to OpenOffice.org :
[H] : like common people who want to help, I do have C/C++ background
( something like 3 to 10 years of coding something somewhere)
- first question : where are things ? How is organized
OpenOffice.org code ?( build OpenOffice.org can really help here )
- second question: what is the design of the feature I want to
contribute ?
- third question : how write code ? What are the guidelines ..who
contact, how submit patches .. ( )
Note : here is the point of the thread
- fourth : is OpenOffice.org really a free project ? (was : why is my
code always refused ? I found a lot of code written with foots in
OpenOffice.org source code, and mine is not accepted. Immediate
reflex : I give up )
Facts: because I didn't find the answer to the first question(s), I
do like 1 developers over 2 did -> I give up
For Mac OS X port, we lost 1 over 2 new devs, willing to help us,
this way, and I have to use a lot of energy and must take care every
day about that.
So, I'd suggest to separate the analysis in two points ( but if you
are only interested by Coding Guidelines, you can do a long jump to
Point 2)
Point 1 : new devs *don't know*, and *don't understand* how
OpenOffice.org code (often more in fact) is organized :
- not enough informations about OpenOffice.org code design is existing
- OpenOffice.org developers most of the time, DO NOT document the
code *while writing the code* (please add immediately what does exist
as resource in Coding guidelines.sxw ! )
"Document the code" doesn't mean include comments in the code, but
provide a document explaining the design and the hidden ideas, with
most important things, reasons of choices ... constraints ..etc.
Currently painfull.
Several examples to illustrate, from my own experience :
1) I wrote some little parts of code, and every time, it was a
nightmare to find information relative to OpenOffice.org *design*.
e.g. I had to understand scp2, vcl and makefile rules to write some
code in vcl for aquacolors cws. Estimated time needed : 2 months
for all the cws
After some time, one of the most helpfull informations came from
Stephan Schaefer ( after I *intentionnaly* did a mistake to make
things move a bit), Joerg Barfuth (scp2) and Oliver Braun, who sent
me a code snippet about Boootstrap::Something() use. I understood
immediately how use it once I read.
While I wrote the cws code, I wrote a short document, with enough
information to retrieve the "spirit'" of the changes : http://
eric.bachard.free.fr/mac/aquacolors/documentation/
maquacolors_dev_notes.pdf
A separate document has been written for users : http://
porting.openoffice.org/mac/Howto_OOo_2.0_MacOSX_english.pdf
2) current page about directories roles in the wiki is *really*
great. But this is just an entry point, with nothing behind =>
needs some love
e.g. yesterday (yes ), for a new dev willing to help us, I was still
searching where find Drag and Drop relative code (not only dtrans) :
nothing AFAIK, is existing describing how things are organized =>
same for a lot of other parts
3) I think I now have a more clear ideas on how vcl module works, and
can explain to a new developer what can be found, and where, in
several hours of discussion (less is difficult), to give this dev
some "autonomy". FYI, it took my 5 months to read and read and try
and build and build to understand a bit the vcl thing.
My feeling : since we described everything we undesrtood in vcl, new
devs are coming on Mac OS X port. Some confirmed since.
Point 2 : every time I found the info relative to Point 1, the code
was IMHO understandable ( even for me with my little C++ knowledge ),
but this can be improved
So, I'd say the code is IMHO secondary, means less important that
Point 1 in the problem : any dev learning C/ C++ can understand, and
if not, ask to other devs should be helpfull.
If this can help, my tool was (and continues to be):
CodingGuidelines.sxw. I even printed it. This is a main document IMHO
( doing a link with academic C++ , OpenOffice.org code and real life )
The exception was : strings and C++ in OpenOffice.org ( ok, I found
code snippets since)
My opinion: I completely agree with your proposal, and this is a
very good thing to organize and continue.
You can count on me to help you. At least asking a lot of questions :-)
+1 for the update on the wiki (well adapted for that)
+1 for the new entries OpenOffice.org relative, with samples
-1 for a new C++ list of best practices : I already got the
Stroustrup's book (and will continue to learn it)
+1 for Pierre Andre remarks, fulll of sense
+1 for the argument : tabs are evil :-)
To complete, as suggestion, we should add keywords (or sub-
categories) in the wiki description like :
- knowledge only
- practical
- tips ( good examples in the code )
- autonomy ( idea to improve )
- tools ( interaction between code and tools, how compile and test
my code ... )
- resources ( people, code snippets , where/how find/join us,
bibliography ... )
- (complete)
But don't forget the first point: we currently continue to lose new
devs regularly ...
Thanks to the one who have read until here :-)
Eric Bachard
BTW: http://wiki.services.openoffice.org/wiki/Cpp_Coding_Standards/
General_Coding#Clear_Origin_of_Local_Data_.28LocalData.29 seems to
need a lot of work
Le 12 déc. 06 à 16:13, Thorsten Behrens a écrit :
Hi folks,
complementing Nikolai's GullFOSS entry
http://blogs.sun.com/GullFOSS/entry/quality_and_coding_standards
I'd like to draw your attention to a revamped version of the OOo
coding guidelines (with the old one getting of age - ~4 years).
We (Nikolai, Matthias H. and me) thought an update and a move to the
Wiki might be in order, and doing that, we went and scanned/re-read
larger chunks of literature about the topic (Lakos,
Sutter/Alexandrescu, Fowler, to name a few) - and then condensed the
material into 19 separate topic areas, with a handful of rules each.
Compared to the old guidelines, the plan is to make this one
significantly easier to digest & use in day-to-day coding (as people
can start small, like using one or two topic areas in the
beginning). If you're a C++ coder - please give it a try:
http://wiki.services.openoffice.org/wiki/Cpp_Coding_Standards
Got an impression? Great. Here comes the catch: we need your input to
improve this further, in a very broad sense. We need more background
information, examples, and maybe external links on the rule details
pages (each rule is basically just a tagline, with a one-sentence
summary of the content). We need your opinion about relevance (or
irrelevance) of the rules. And we need to know if (by your opinion),
we've forgotten an important one. Just use the wiki discussion pages
of the respective rules, or simply add your content.
Why should you bother? Well, because OOo is complex enough by itself,
and having a bit of guidance in the land of C++ should be helpful to
almost everybody, especially for people new to the project. At the end
of the day, getting into the habit of checking your code against (some
subset) of coding rules might even make you spot a few other bugs here
and there - improving the quality of code newly introduced to OOo.
Thanks for listening, and eagerly waiting for your feedback!
Cheers,
-- Thorsten
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]