Hurd package?

Mail?

HUH?

dave
> 
> Greetings, Hurders of the GNUMach!
> 
> Today, my Hurd package came in the mail!
> 
> A great thanks to Neal for that! You saved me a fortune that would otherwise have 
>gone to greedy, dishonest monopoly-abusers called
> Belgacom ... they still own the phone-lines ... but the day will come ... we will 
>overcome, one day!
> 
> Like I said, I would like to produce documentation as I go, and I have a suggestion 
>that I hope to get some support for:
> 
> I would like to begin every source file with a description of the module implemented 
>by the source file.
> This should strengthen cohesion and maybe even weaken coupling in the modules:
> If you have to describe each source file, you will automatically think about whether 
>the different functions in the source file
> ('module') logically belong together - you may get stronger cohesion for free just 
>by writing the description, and immediately start
> thinking about whether or not a specific function might 'belong to another module'. 
>This will also keep us thinking about interfaces
> between modules and functions, and such thoughts can be good for the coupling 
>between modules, since you are also thinking about
> what the functions need to know about one another.
> But this is not the reason why I want to do it this way: As a newbie, I want to get 
>some idea of 'where I am' in the source tree,
> when I read about a function, I want to see the 'big picture', knowing what module 
>the function is in, and where that module is in
> the system. I hope to get some support for this.
> Before each function I would then give a description of the function.
> I am strongly influenced by the hacker idea that code is self-explanatory, I prefer 
>to have the 'comments' on top, explaining the
> function in broader terms, so that the source code is just a way fo say: Look, this 
>is how I chose to do it.
> Module organization, however, is far from self-explanatory. Except for some 
>brilliantly laid-out source trees, like Linux
> (drivers/net/hamradio/soundmodem) module organisation must be documented somewhere 
>if we hope to make sense of it - which brings me
> to the structuring of the function/module descriptions.
> I believe that if every description starts off with an explanation of WHY the module 
>of function is created, it will serve several
> purposes. 
> When coding, we will be invited to think about the function's purpose, when we are 
>really only concerned with it's implementation.
> This will keep us from adding unnecessary 'chrome' that might be fun to have, but 
>that really does not add anything to the system's
> functionality, and more important, might confuse people new to the system (like me, 
>Atle, but others will come, I hope :-). 
> I would like the heading to say: "PROBLEM - a brief statement of the problem that 
>this function solves." 
> But, helping the implementor is not my first priority, my first priority is helping 
>ME, the newbie.
> When looking at a function, I will want to know what the purpose of that function 
>is, that will greatly help me understand it's
> implementation, in fact, I will probably find that I know how it is implemented 
>before starting to actually read it.
> And most of all: If I start in one end of the Hurd, adding these things as I go, I 
>will not be able to avoid learning the Hurd.
> Hopefully, I will have acted like a snow-plow, plowing away 'snow' of ignorance, so 
>that the ones that come after me, can follow at
> full speed.
> Hopefully, it will be like having <<Prev ^^Up  vvDown Next>> pointers in the 
>documentation:
> 
> /***********************
> PROBLEM
> Accessing some arrays is too slow.
> A data item is only entered once,
> but often read inside a loop.
> A real processor pig.
> SOLUTION
> Using binary search, getting the avearge
> number of accesses down from 15986 to 15
> this is a formidable speedup.
> array_search(void *pArray, void* keydata, int (*cmpf)())
> {
>       int h, l; /* Higher and lower boundary of srchspc */
>               /* Oh yes, add comments as before ! */
> }
> 
> But I don't want to mess up anyone's work, so at least in the beginning, I will ask 
>before changing anything, even if I think it is
> a good idea.
> 
> What I am looking for here, is to see if people in general would like this, if you 
>think it is useful, and if not, please tell me,
> and please also tell me why you think I am wrong, because I can't see anything wrong 
>with this, in fact I am even puzzled why it is
> not done like this everywhere ....
> Thanks, Atle
> 
> 

Avoid Quiet and Placid persons unless you are in Need of Sleep.
                -- National Lampoon, "Deteriorada"

Reply via email to