openstandards

Giorgos Keramidas keramida at ceid.upatras.gr
Fri Jul 20 14:49:07 EEST 2007


On 2007-07-20 00:09, ndemou at gmail.com wrote:
>On 7/19/07, Vaggelis Tripolitakis <vtripolitakis at gmail.com> wrote:
>> On 7/19/07, Angelos Karageorgiou <angelos at unix.gr> wrote:
>> >
>> >  15 grammes kwdika. 150 sxolia, as egrafes ena manual !
>> [...]
>>
>> μου θυμίζει το κλασσικό
>>
>> i++;
>>
>> /* Σχόλιο #43 */
>> /* Ο εν λόγω κώδικας αυξάνει την μεταβλητή i τύπου integer με αρχική
>> τιμή 0 κατά 1 κάνοντας χρήση του ειδικού τελεστή της C */
>
> θες να πεις δηλαδή ότι εσύ απο αυτό:
>            SLOW=0; /* make sure to start at high speed */
>
> έχεις ήδη συμπεράνει κι αυτό?:
>            /* why do i reset SLOW? well that's why:
>            supose that a passanger presses stop while aproching
>            the upper limit with slow speed and that the elev.
>            stops just upon the limit switch. After the stop is
>            released the elev. will try to continue going up but
>            then this code will determine that it's going off
>            limits and will switch the direction. the elev should
>            now go down for about one level distance with slow
>            speed (because the speed information is preserved
>            durring the stop phase).
>            That wouldn't be good at all!            */

Όλο αυτό μπορεί να γίνει κάτι σαν:

    /*
     * Reset elevator speed.  The startup speed is always 'fast',
     * because [insert long explanation here].
     */
    SUB RESETSPEED
        SLOW=0;
    END SUB

Υστερα στα κατάλληλα σημεία, ο κώδικας μπορεί να έχει πιο «όμορφη»
διάταξη όπως:

    /*
     * We reset the speed first, because part of the logic which sets
     * the new speed to a 'good enough' approximation of the new startup
     * speed depends on the current direction.
     */
    SUB RESETALL
        RESETSPEED
	RESETDIRECTION
    END SUB

    [ 65544 γραμμές παρακάτω ]

    RESETALL

> Ρωτάω γιατί εμένα την πρώτη φορά μου πήρε μερικές ώρες να καταλάβω α)
> τι συνέβαινε β) ότι  θα 'πρεπε να κάνω reset την μεταβλητή SLOW.

Το `documentation' στο συγκεκριμένο σημείο δεν ήταν ακριβώς...
`optimal', όμως.

Τέλος πάντων.  Το θέμα μας είναι ότι «ο κώδικας δεν είναι πάντα το
καλύτερο documentation» και σ' αυτό πιστεύω συμφωνούμε όλοι :-)




More information about the Linux-greek-users mailing list