apprentisssage, divers - Les Commentaires sont ils indispensables ? -

Les Commentaires sont ils indispensables ?

( Temps de lecture estimé à 3 min 17 sec )





J'ai commencé à programmer il y a bien longtemps sur des machines qui feraient hurler de rire vos chers téléphones portables.
J'en ai bien, un aujourd'hui mais il ne me sert que de téléphone.
Mon premier programme en assembleur m'a pris un mois d'écriture pour faire défiler un "bonjour, madame" sur la ligne écran de mon Z80, c'était en 19.. (de quoi je me mêle ?).
Ensuite je suis passé à un commodore 64, il avait tellement peu de mémoire que pour faire tourner un programme (en basic 16 bits, si madame ça a existé) il fallait découper le dit programme en morceaux que l'on chargeait un par un, en mémoire après avoir vidé celle-ci, du morceau précédent.
Pourquoi je disais ça, faut dire que si vous n'arrêtez pas de m'interrompre tout le temps, je perds le fil, moi.
En fait en arrivant sur Gambas, mes premiers programmes étaient aussi peu rangés que ma chambre si ma femme ne passait pas, derrière moi.
En lisant des articles et des programmes commentés je me suis aperçu qu'ils étaient faciles à suivre et comprendre parce qu'ils étaient aérés et commentés.
En lisant un code d'un certain Cogier, cherchez ses productions sur la logithèque de Gambas, chaque ligne était commentée et la présentation était soignée, les commentaires tirés au cordeau, toujours à 81 caractères sur la ligne (ce qui correspond à plusieurs tabulations, vous les compterez) ce qui rendait le code attractif, facile à lire et compréhensible.
Depuis je me suis imposé ce travail qui de fastidieux est devenu une autre chose, très intéressante, cela m'oblige à relire mon code, à améliorer celui-ci et surtout les commentaires pour qu'ils soient les plus explicites possibles, en peu de place.
Et, ce faisant vous vous rendrez compte des évolutions de vos propres pensées et de la structuration de celles-ci et donc de l'apport indéniable des commentaires dans vos programmes.

Car vos commentaires sont la traduction de vos pensées et non une simple traduction de texte, sans aucune valeur.

Alors n'hésitez pas, commentez vos codes, d'abord pour vous même et ensuite .. pour vous même car les autres suivront.


Public Sub Command(Command As String) As String                                       'Takes the Command and returns the output of the command

  If Not Command Then 
Return                                                            'If 
there is no Command then get out of here!
  sCommand = Command                                                                    'Move the Command to a global variable

  If sPassword Then                                                                     'If the password has been stored then..
    ButtonAuthenticate_Click                                                            'Click the 'Authenticate' button
    Return sOutput                                                                      'Return the Command's output
  End If

 
 LabelHeader.text = ("Authentication is required to run this programn'")
 & Command & "'" 'Add a notice and the name of the command to be
 run

  CheckCapsLock                                                                         'Check if the Caps Lock is on
  Me.Showmodal                                                                          'Show the Authentication Form
  Return sOutput                                                                        'Return the Command's output

End

Public Sub obs_Change()                                                         ''Contrôle de la saisie

    If Me.text Then '<--------------------------------------------------------- pour ne pas avoir d'erreur de texte vide
       
 $regex.Exec(Me.Text)    
'<--------------------------------------------- test de la valeur au 
crible de l'expression régulière
        Me.Text = $regex.Text   '<--------------------------------------------- isNumber() donc on récupère chaque chiffre
        If Me.Text Match "." Then Me.Text = Replace(Me.Text, ".", ",")  '<----- pour récupérer la virgule à partir du point
        If Me.text Then $value = Val(Me.Text)   '<----------------------------- si j'ai du texte alors j'ai une valeur
        If Me.Value > 999999999.99 Then '<------------------------------------- pour ne pas dépasser la somme
            Me.Value = 0    '<------------------------------------------------- la valeur est remise à zéro
            Me.Clear    '<----------------------------------------------------- le texte est effacé
            Me.SetFocus '<----------------------------------------------------- le focus est remis au champ
            $lab.Text = ""  '<------------------------------------------------- le label d'affichage est effacé
        Endif
    Else    '<----------------------------------------------------------------- si le texte n'est pas alimenté alors
        $value = 0  '<--------------------------------------------------------- s'il n'y a pas de texte alors la valeur = 0
        $lab.Text = ""  '<----------------------------------------------------- et on vide le texte du label
    Endif

    If Me.Text And If $format Then  '<----------------------------------------- si le texte et le format sont alimentés alors
        $lab.Text = Format(Val(Me.Text), $format)   '<------------------------- affichage dans le label selon le format
    Endif

End



Date de creation :
Redacteur : Rédigé par valaquarus
Classé dans : apprentisssage, divers
Unus Ex Altera