Matlab....lmdown

Giorgos Keramidas keramida at ceid.upatras.gr
Sun Dec 3 16:50:04 EET 2006


On 2006-12-03 16:29, Nikolaos Korkakakis <korkakak at gmail.com> wrote:
>On 12/3/06, Giorgos Keramidas <keramida at ceid.upatras.gr> wrote:
>> Το script έχει εντελώς απαίσιο στυλ γραψίματος και δεν το
>> διάβασα όλο.  Μπορεί να έχει κι άλλα προβλήματα σε άλλα
>> σημεία.  Αν το τρέξεις και για κάποιο λόγο δεν παίζει, πες μου
>> τι πρόβλημα βγάζει και θα προσπαθήσω να δω γιατί.
> 
> To scriptaki kata thn tapeinh mou gnwmh einai uperoxo.

Ας μου επιτραπεί να διαφωνήσω.  Έχω γράψει χιλιάδες γραμμές
scripts σε UNIX και μπορώ να έχω δική μου άποψη.

> Mexri kai sxolia exei wste na mporeis na katalabeis ti 8elei na
> pei o poihths.  Kai ena mprabo sthn matlab pou ka8ise kai
> egrapse akoma kai to scriptaki me tropo diafanh gia
> opoiondhpote exei problhmata.

Το script φαίνεται ότι είναι copy/paste από άλλα, ίσως όχι πολύ
σχετικά scripts.  Τα σχόλια που έχει στην αρχή είναι όντως
χρήσιμα, και μπορείς να δεις με τι command-line options μπορείς
να το τρέξεις, αλλά σε μέρη όπως αυτό:

    156                 ARCH=`echo "$ARCH_LIST EOF $arch_in" | awk '
    157 #-----------------------------------------------------------------------
    158         { for (i = 1; i <= NF; i = i + 1)
    159               if ($i == "EOF")
    160                   narch = i - 1
    161           for (i = 1; i <= narch; i = i + 1)
    162                 if ($i == $NF || "-" $i == $NF) {
    163                     print $i
    164                     exit
    165                 }
    166         }'`
    167 #-----------------------------------------------------------------------

είναι εντελώς για κλάμματα.  Πού είναι η συνέπεια στο
indentation; Γιατί στο awk script υπάρχει αυτό το περίεργο stream
από "+++++++" χαρακτήρες; Γιατί στην αρχή του awk script είναι
μετά το '\'' αλλά στο τέλος του script είναι μετά το closing
backquote;  Κλπ. κλπ.

Τα σχόλια με τσαχπινοζουμπουρλούδικα 'ASCII-blocks' όπως αυτό:

    184 #=======================================================================
    185 #========================= archlist.sh (end) ==============================
    186 #
    187 #=======================================================================
    188 #
    189 # Functions:
    190 #
    191 #   scriptpath ()
    192 #   standalone_lm ()
    193 #
    194 #=======================================================================

μπορεί να φαίνονται 'ωραία' αν είσαι 15-χρονος που μόλις έμαθε
ότι μπορεί να φτιάχνει block comments, αλλά εμένα μοθ φαίνονται
εντελώς άχρηστα, και κουραστικά για τα μάτια μου.  Δεν έχει
απολύτως καμία πληροφορία παραπάνω ένα script σαν αυτό:

    # ================================================================== #
    #                                                                    #
    # Functions:                                                         #
    #                                                                    #
    #   foo ()                                                           #
    #   foobar ()                                                        #
    #                                                                    #
    # ================================================================== #

    foo()
    {
    }

    bar() {
    }

από ένα script σαν αυτό:

    foo() {
    }

    bar() {
    }

Το δεύτερο όμως είναι πιο συνεπές, πιο οργανωμένο, πιο ξεκάθαρο.

Και ναι, μπορεί να είναι καλή κίνηση ότι η Matlab έγραψε ένα shell
script, αλλά αυτό δε σημαίνει ότι δε μπορώ να πω τη γνώμη μου για το
script στο οποίο έχω ήδη διορθώσει 2 bugs σε email με τον Θάνο :P




More information about the Migrate2linux mailing list