abuledu:developpeur:logiciels_du_terrier_en_tcl-tk

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
abuledu:developpeur:logiciels_du_terrier_en_tcl-tk [2008/12/14 03:40]
http://abuledu.org/openid/erics
abuledu:developpeur:logiciels_du_terrier_en_tcl-tk [2016/01/21 12:00] (Version actuelle)
erics
Ligne 1: Ligne 1:
 +{{tag>version-8-08}}
 ====== Spécification de développement, contraintes liées aux projets du groupe le_terrier ====== ====== Spécification de développement, contraintes liées aux projets du groupe le_terrier ======
  
Ligne 8: Ligne 9:
   * Révision v0.3 14 juillet 2002   * Révision v0.3 14 juillet 2002
   * v8.11 22 novembre 2008   * v8.11 22 novembre 2008
-  * v8.12 14 décembre 2008 - ajout de la section "son"+  * v8.12 14 décembre 2008 - ajout de la section "son" et de la section "pavé numérique sous linux"
  
 //Ce document essaye de préciser les contraintes que nous souhaitons respecter lors de l'écriture (et/ou modification) de fichiers Tcl/Tk afin d'assurer une meilleure maintenance et lisibilité du code produit. Dans une seconde partie, nous précisons les contraintes liées au courriel échangé sur la liste béta relative au groupe "le_terrier". Enfin la dernière partie décrit le "à faire" tel qu'évoqué lors des RMLL (Rencontres Mondiales du Logiciel Libre) 2002 à Bordeaux.// //Ce document essaye de préciser les contraintes que nous souhaitons respecter lors de l'écriture (et/ou modification) de fichiers Tcl/Tk afin d'assurer une meilleure maintenance et lisibilité du code produit. Dans une seconde partie, nous précisons les contraintes liées au courriel échangé sur la liste béta relative au groupe "le_terrier". Enfin la dernière partie décrit le "à faire" tel qu'évoqué lors des RMLL (Rencontres Mondiales du Logiciel Libre) 2002 à Bordeaux.//
Ligne 18: Ligne 19:
 Il s'agit de respecter quelques règles simples qui, dans le passé, ont permis une relecture aisée du code produit. Il s'agit de respecter quelques règles simples qui, dans le passé, ont permis une relecture aisée du code produit.
  
-Car une application naît, vit par la volonté de différents développeurs.+Car une application nait, vit par la volonté de différents développeurs.
  
 Mais elle meurt si elle est illisible. Mais elle meurt si elle est illisible.
Ligne 34: Ligne 35:
 Commentons sans excès, mais commentons, les parties difficiles à comprendre. Commentons sans excès, mais commentons, les parties difficiles à comprendre.
  
-Evitons les commentaires+Évitons les commentaires
  
   * faux   * faux
Ligne 109: Ligne 110:
 ou des identifieurs définis par l'utilisateur. ou des identifieurs définis par l'utilisateur.
  
-Le choix des identifieurs définis par l'utilisateur est fondamental : un bon choix rend le programme plus facile à lire, à comprendre, à modifier, à corriger. Un identifieur long n'est pas nécessairement le meilleur. Si un identifieur n'est utilisé que peu de fois, dans une partie réduite du programme, une lettre peut être un bon identifieur, mais une lettre ne sera pas un bon choix pour un identifieur utlisé fréquemment dans différentes parties du programme.+Le choix des identifieurs définis par l'utilisateur est fondamental : un bon choix rend le programme plus facile à lire, à comprendre, à modifier, à corriger. Un identifieur long n'est pas nécessairement le meilleur. Si un identifieur n'est utilisé que peu de fois, dans une partie réduite du programme, une lettre peut être un bon identifieur, mais une lettre ne sera pas un bon choix pour un identifieur utilisé fréquemment dans différentes parties du programme.
  
 <code> <code>
Ligne 121: Ligne 122:
 </code> </code>
  
-est sûrement mieux que A pour désigner le nombre 3,141592...+est surement mieux que A pour désigner le nombre 3,141592...
 ===== 4. Littéral et constante ===== ===== 4. Littéral et constante =====
  
Ligne 156: Ligne 157:
 Les indications concernant les constantes s'appliquent aux variables d'autant plus que TclTk ne fait pas de différence entre les deux ! Il n'existe pas de constante en TclTk mais l'utilisateur doit faire comme si afin d'améliorer le code écrit. Les indications concernant les constantes s'appliquent aux variables d'autant plus que TclTk ne fait pas de différence entre les deux ! Il n'existe pas de constante en TclTk mais l'utilisateur doit faire comme si afin d'améliorer le code écrit.
  
-Evitons+Évitons
  
 <code> <code>
Ligne 267: Ligne 268:
     .menu add cascade -label [mc "À propos"] -menu .menu.fichier     .menu add cascade -label [mc "À propos"] -menu .menu.fichier
 </code> </code>
 +
  
 Exception : si le message doit contenir une variable, par exemple $var, le message doit être composé d'un seul mot suivi ou précédé de la variable. Exception : si le message doit contenir une variable, par exemple $var, le message doit être composé d'un seul mot suivi ou précédé de la variable.
Ligne 276: Ligne 278:
 </code> </code>
  
-Autre exception : le message contient plusieurs variables séparées par des mots à traduire. Dans ce cas, l'exemple suivant paraît suffisamment clair et se passe de tout commentaire.+Autre exception : le message contient plusieurs variables séparées par des mots à traduire. Dans ce cas, l'exemple suivant parait suffisamment clair et se passe de tout commentaire.
 <code> <code>
 append titre "ALLER - " [mc "Groupe"] " : " $groupe " / " [mc "Dossier"] " : " $rep " / " [mc "Texte"] " : " $demarre append titre "ALLER - " [mc "Groupe"] " : " $groupe " / " [mc "Dossier"] " : " $rep " / " [mc "Texte"] " : " $demarre
Ligne 423: Ligne 425:
 </code> </code>
  
-===== 11. A faire ===== 
  
 +===== 11. Utiliser le pavé numérique sous Linux =====
 +
 +Cette section a été ajoutée le 14 décembre 2008 et se propose de fournir une solution pour la gestion du pavé numérique lorsqu'on est sous Linux.
 +
 +<code>
 +proc changenum {c key} {
 +    global curcol currow
 +    focus -force .frame.c
 +    
 +    $c itemconf textcol[expr \$curcol]row[expr \$currow] -text $key
 +    switch $key {
 + BackSpace - Delete {$c itemconf textcol[expr \$curcol]row[expr \$currow] -text .}
 + 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9  {$c itemconf textcol[expr \$curcol]row[expr \$currow] -text $key}
 +        #le pavé numérique sous linux retourne les codes suivants au lieu
 +        #de retourner directement les chiffres ...
 + KP_Insert {$c itemconf textcol[expr \$curcol]row[expr \$currow] -text "0"}
 + KP_End {$c itemconf textcol[expr \$curcol]row[expr \$currow] -text "1"}
 + KP_Down {$c itemconf textcol[expr \$curcol]row[expr \$currow] -text "2"}
 + KP_Next {$c itemconf textcol[expr \$curcol]row[expr \$currow] -text "3"}
 + KP_Left {$c itemconf textcol[expr \$curcol]row[expr \$currow] -text "4"}
 + KP_Begin {$c itemconf textcol[expr \$curcol]row[expr \$currow] -text "5"}
 + KP_Right {$c itemconf textcol[expr \$curcol]row[expr \$currow] -text "6"}
 + KP_Home {$c itemconf textcol[expr \$curcol]row[expr \$currow] -text "7"}
 + KP_Up {$c itemconf textcol[expr \$curcol]row[expr \$currow] -text "8"}
 + KP_Prior {$c itemconf textcol[expr \$curcol]row[expr \$currow] -text "9"}
 + KP_Delete {$c itemconf textcol[expr \$curcol]row[expr \$currow] -text ,}
 + comma {$c itemconf textcol[expr \$curcol]row[expr \$currow] -text ,}
 +    }
 +}
 +</code>
 +
 +===== 12. À faire =====
  
     * répertoire de sauvegarde des traces-élèves (utilisation d'une variable d'environnement)     * répertoire de sauvegarde des traces-élèves (utilisation d'une variable d'environnement)
     * format de la trace-élève (a priori en XML) ; les champs sont à définir     * format de la trace-élève (a priori en XML) ; les champs sont à définir
-    * language de développement futur : python+Qt ou java ?+    * langage de développement futur : python+Qt ou java ?
  
 Si nous choisissons python+Qt, un bon outil de développement serait Qt-designer Si nous choisissons python+Qt, un bon outil de développement serait Qt-designer
  
-Utiliser la forge : gforge.ryxeo.com +Utiliser la forge du Terrier https://redmine.ryxeo.com/projects/leterrier
  • abuledu/developpeur/logiciels_du_terrier_en_tcl-tk.1229222446.txt.gz
  • Dernière modification: 2008/12/14 03:40
  • de http://abuledu.org/openid/erics