Outils pour utilisateurs

Outils du site


prog:general:toc

Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
prog:general:toc [2014/02/12 02:26] – modification externe 127.0.0.1prog:general:toc [Date inconnue] (Version actuelle) – supprimée - modification externe (Date inconnue) 127.0.0.1
Ligne 1: Ligne 1:
-====== Techniques de programmation ====== 
- 
-  - [[http://en.wikipedia.org/wiki/Defensive_programming|Defensive programming]]   
-  - [[http://en.wikipedia.org/wiki/Separation_of_concerns|Separation of concerns]]   
- 
-====== Nommer les identificateurs ====== 
-En programmation, il existe plusieurs conventions pour nommer les identificateurs de variables.  La plus intéressante est probablement la [[wp>Hungarian_notation|hongroise]].  Cette convention dit qu'il faut spécifier par un ou deux caractères minuscules, au début du nom, le type de variable dont il est question.  De plus, les mots qui désignent la variables ont la première lettre en majuscule et sont collés.  Par exemple une variable qui désigne la fin d'un traitement, de type booléen peut très bien s'appeller ''bFinDuTraitement'' ou ''bFinTrtmnt'' pour faire plus court.  Si l'identificateur désigne un pointeur, ont pourrait ajouter ''p'' devant (''pcUnCar'') ou un ''r'' (''rcUnCar'') pour << référence >>. 
- 
-^préfixe^type^exemple^ 
-|c|signed char|cUnCar| 
-|uc|unsigned char|| 
-|i|int|iLongueur| 
-|ui|unsigned int|uiLongueur| 
-|si|short int|siLongueur| 
-|l|long int|lCptDeCarottes| 
-|s|chaîne de caractères (string)|sMessage| 
-|f|float|fMoyenne| 
-|d|double|dMoyenne| 
-|ld|long double|ldMoyenne| 
-|b|booleen_T|bFinDuTraitement| 
-|p|pointeur|pDebutDeLaListe| 
-|r|paramètre par référence|riMaximum| 
- 
-====== Pseudocode ====== 
-Le pseudocode est un outil de développement pour initier un programme.  Ce langage est plus près de la langue de son auteur (ex: français) et aide à entreprendre un algorithme et le concevoir avant sa réelle écriture dans le langage informatique. 
- 
-<code> 
-debut 
-  c = 0   // compteur 
-  r = 0   // réussite 
-  mg = 0  // moyenne générale 
-  repeter 
-    ecrire ('Entrez les 3 notes de l'étudiant ', c+1) 
-    lire (n1,n2,n3) 
-    moyenne = (n1+n2+n3) / 3 
-    ecrire ('La moyenne de l'étudiant ', c+1, ' est ', moyenne) 
-    si moyenne >= 60 alors r = r+1 
-    mg = (moyenne + mg) / (c+1) 
-    c=c+1 
-  jusqua c = 50 
-  ecrire (r, ' Ètudiant ont rÈussi le cours') 
-  ecrire ('La moyenne gÈnÈrale est de ', mg) 
-fin 
-</code> 
- 
-====== Ordinogramme ====== 
- 
- 
- 
- 
- 
-====== Orienté-objet ====== 
- 
-Il y a plusieurs concepts dans la programmation orientée-objet : 
-  * Encapsulation 
-  * Héritage 
-  * Polymorphisme 
-  * Interfaces 
- 
-===== Encapsulation ===== 
-Technique qui permet incorporer des données dans les classes.  Les données de ces classes sont habituellement accessibles par des méthodes. 
- 
-Il y a différents niveaux de visibilité : 
-  * Pubic -> tous les autres objets ont accès 
-  * Protégé -> seulement les classes dérivées ont accès 
-  * Privé -> accessible qu'à l'intérieur même de la classe 
- 
- 
-===== Héritage ===== 
-===== Polymorphisme ===== 
-Le polymorphisme est un concept de l'orienté-objet qui permet d'appliquer des méthodes à des objets de différents type.  Le cas classique sont les figures.  Une interface ''Figure'' peut contenir la signature d'une méthode ''obtenirSuperficie()'' Deux objets différents qui implémentent l'interface ''Figure'', qui sont ''Cercle'' et ''Rectangle'', peuvent à leur tour implémenter la méthode ''obtenirSuperficie()'' à leur façon. 
- 
- 
- 
-===== Intefaces ===== 
- 
- 
-====== Vocabulaire ====== 
-  * Définir (une méthode) -> signature + corps 
-  * Déclarer (une méthode) -> signature 
- 
-====== Expressions régulières ====== 
- 
-Utilisées en PHP, Perl, C#, etc, les expressions régulières peuvent être utilisées pour valider des chaînes de caractère.  Ce sont des masques qui permettent la bonne saisie des utilisateurs dans un formulaire, par exemple.  Voici quelques exemples (pour plus d'explications, des sites existent à cet effet((http://phpcodeur.net/articles/php/regex1))) : 
- 
-^ Type de chaîne à traiter ^ Regex ^ 
-| Nom  | ''%%^[a-zA-Zéèêëàâïç'.\s]{2,40}$%%''  | 
-| Nom (anglais, sans accents) | ''%%^[a-zA-Z'.\s]{2,40}$%%'' | 
-| Courriel  | ''%%\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*%%''  | 
-| Adresse URL  | ''%%http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?%%''  | 
-| Téléphone  | ''%%((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}%%''  | 
- 
-Éléments d'une expression((http://www.asp-php.net/tutorial/asp-php/regexp.php)) : 
-^ Code   ^ Description    ^ 
-| ''\'' | Marque le caractère suivant comme caractère spécial ou littéral.  Par exemple, ''n'' correspond au caractère ''n''. ''\n'' correspond à un caractère de nouvelle ligne. La séquence ''\\'' correspond à ''\'', tandis que ''\('' correspond à ''(''. | 
-| ''%%^%%'' | Correspond au début de la saisie.  | 
-| ''$'' | Correspond à la fin de la saisie. |  
-| ''*'' | Correspond au caractère précédent zéro fois ou plusieurs fois.  Ainsi, ''zo*'' correspond à ''z'' ou à ''zoo''. | 
-| ''+'' | Correspond au caractère précédent une ou plusieurs fois.  Ainsi, ''zo+'' correspond à ''zoo'', mais pas à ''z''. | 
- 
- 
- 
- 
-| ''?'' | Correspond au caractère précédent zéro ou une fois.  Par exemple, ''a?ve?'' correspond à ''ve'' dans ''lever''. | 
-| ''.'' | Correspond à tout caractère unique, sauf le caractère de nouvelle ligne. | 
-| ''(modèle)'' | Correspond au modèle et mémorise la correspondance.  La sous-chaîne correspondante peut être extraite de la collection obtenue, à l'aide d'Item [0]...[n]. Pour trouver des correspondances avec des caractères entre parenthèses ''( )'', utilisez ''\('' ou ''\)''. | 
-| ''%%x|y%%'' | Correspond soit à ''x'' soit à ''y'' Par exemple, ''%%z|foot%%'' correspond à ''z'' ou à ''foot''. ''%%(z|f)oot%%'' correspond à ''zoo'' ou à ''foot''. | 
-| ''{n}'' | ''n'' est un nombre entier non négatif.  Correspond exactement à ''n'' fois le caractère.  Par exemple, ''o{2}'' ne correspond pas à ''o'' dans ''Bob,'' mais aux deux premiers ''o'' dans ''fooooot''. | 
-| ''{n,}'' | ''n'' est un entier non négatif.  Correspond à au moins ''n'' fois le caractère.  Par exemple, ''o{2,}'' ne correspond pas à ''o'' dans ''Bob'', mais à tous les ''o'' dans ''fooooot''. ''o{1,}'' équivaut à ''o+'' et ''o{0,}'' équivaut à ''o*''. | 
-| ''{n,m}'' | ''m'' et ''n'' sont des entiers non négatifs.  Correspond à au moins ''n'' et à au plus ''m'' fois le caractère.  Par exemple, ''o{1,3}'' correspond aux trois premiers ''o'' dans ''foooooot'' et ''o{0,1}'' équivaut à ''o?''. | 
-| ''[xyz]'' | Jeu de caractères.  Correspond à l'un des caractères indiqués.  Par exemple, ''[abc]'' correspond à ''a'' dans ''plat''. | 
-| ''%%[^xyz]%%'' | Jeu de caractères négatif.  Correspond à tout caractère non indiqué.  Par exemple, %%''[^abc]''%% correspond à ''p'' dans ''plat''. | 
-| ''[a-z]'' | Série de caractères.  Correspond à tout caractère dans la série spécifiée.  Par exemple, ''[a-z]'' correspond à tout caractère alphabétique minuscule compris entre ''a'' et ''z''. | 
-| ''%%[^m-z]%%'' | Série de caractères négative. Correspond à tout caractère ne se trouvant pas dans la série spécifiée.  Par exemple, %%''[^m-z]''%% correspond à tout caractère ne se trouvant pas entre ''m'' et ''z''. | 
-| ''\b'' | Correspond à une limite représentant un mot, autrement dit, à la position entre un mot et un espace.  Par exemple, ''er\b'' correspond à ''er'' dans ''lever'', mais pas à ''er'' dans ''verbe''. | 
-| ''\B'' | Correspond à une limite ne représentant pas un mot. ''en*t\B'' correspond à ''ent'' dans ''bien entendu''. | 
-| ''\d'' | Correspond à un caractère représentant un chiffre. Équivaut à [0-9]. | 
-| ''\D'' | Correspond à un caractère ne représentant pas un chiffre.  Équivaut à ''%%[^0-9]%%''. | 
-| ''\f'' | Correspond à un caractère de saut de page. | 
-| ''\n'' | Correspond à un caractère de nouvelle ligne. | 
-| ''\r'' | Correspond à un caractère de retour chariot. | 
-| ''\s'' | Correspond à tout espace blanc, y compris l'espace, la tabulation, le saut de page, etc. Équivaut à ''[ \f\n\r\t\v]''. | 
-| ''\S'' | Correspond à tout caractère d'espace non blanc.  Équivaut à ''%%[^ \f\n\r\t\v]%%''. | 
-| ''\t'' | Correspond à un caractère de tabulation. | 
-| ''\v'' | Correspond à un caractère de tabulation verticale. | 
-| ''\w'' | Correspond à tout caractère représentant un mot et incluant un trait de soulignement. Équivaut à ''[A-Za-z0-9_]''. | 
-| ''\W'' | Correspond à tout caractère ne représentant pas un mot.  Équivaut à ''[^A-Za-z0-9_]''. | 
-| ''\num'' | Correspond à num, où numest un entier positif. Fait référence aux correspondances mémorisées.  Par exemple, ''(.)\1'' correspond à deux caractères identiques consécutifs. | 
-| ''\n'' | Correspond à n, où n est une valeur d'échappement octale. Les valeurs d'échappement octales doivent comprendre 1, 2 ou 3 chiffres.  Par exemple, ''\11'' et ''\011'' correspondent tous les deux à un caractère de tabulation. ''\0011'' équivaut à ''\001'' & ''1''. Les valeurs d'échappement octales ne doivent pas excéder 256. Si c'était le cas, seuls les deux premiers chiffres seraient pris en compte dans l'expression. Permet d'utiliser les codes ASCII dans des expressions régulières. | 
-| ''\xn'' | Correspond à ''n'', où ''n'' est une valeur d'échappement hexadécimale. Les valeurs d'échappement hexadécimales doivent comprendre deux chiffres obligatoirement.  Par exemple, ''\x41'' correspond à ''A''. ''\x041'' équivaut à ''\x04'' & ''1''. Permet d'utiliser les codes ASCII dans des expressions régulières. | 
- 
-===== Ressources ===== 
-  * http://regexlib.com/Default.aspx 
- 
-====== Commentaire d'entête général pour les classes ====== 
-<code csharp> 
-///////////////////////////////////////////////////////////////////////// 
-// Author       Stéphane Gariépy 
-// Date         2008/07/14 
-// Version      0.08.07.14.1 
-// Class name   ClassName 
-// Package      Company.Something.SomethingParticular 
-// Copyright    Copyright (C) 2008 company. 
-///////////////////////////////////////////////////////////////////////// 
-</code> 
- 
-====== Polices de caractères pour programmer ====== 
-===== Windows ===== 
- 
-  * {{:prog:general:montecarlo-ttf.zip|MonteCarlo}} ([[http://www.bok.net/MonteCarlo/|Source]]) 
-  * {{:prog:general:monaco.zip|Monaco}} ([[http://www.webdevkungfu.com/textmate-envy-aka-monaco-font-for-windows/|Source]]) 
-  * Anonymous [[http://www.ms-studio.com/FontSales/anonymous.html|Mark Simonson studio]] 
-  * Consolas 
-  * {{:prog:general:inconsolata.zip|Inconsolata}} ([[http://www.levien.com/type/myfonts/inconsolata.html|Inconsolata]]) 
- 
-===== Mac OS X ===== 
-  * Monaco 
- 
- 
  
prog/general/toc.1392168388.txt.gz · Dernière modification : 2022/02/02 00:43 (modification externe)