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 d'une langue à une autre, 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.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| 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 program\n'") & 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
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| 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 $value = 0 $lab.Text = "" ENDIF
IF ME.Text AND IF $format THEN '<------------------------------------------ si Me.text et $format sont alimentés alors $lab.Text = Format(Val(ME.Text), $format) '<--------------------------- affichage dans le label selon le format ENDIF
END
|
====================
Navigation :
<-- Liens du Wiki : <--<-- Accueil du WIKI : <-- <-- Rappels de Programmation <--====================
Documentation :
====================