17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Modules<br />

Conventions de codage<br />

CHAPITRE 7<br />

Avant de présenter les différentes conventions, voici quelques définitions :<br />

CapitalizedWords : nom composé d’un ou plusieurs mots attachés dont chaque<br />

première lettre est en majuscules ;<br />

mixedCase : CapitalizedWords dont la première lettre est en minuscules ;<br />

lowercase : nom composé d’un ou plusieurs mots attachés dont toutes les lettres<br />

sont en minuscules ;<br />

lowercase_words : nom composé d’un ou plusieurs mots séparés par des espaces<br />

soulignés, dont toutes les lettres sont en minuscules ;<br />

UPPERCASE_WORDS : nom composé d’un ou plusieurs mots séparés par des<br />

espaces soulignés, dont toutes les lettres sont en majuscules.<br />

Ces différentes écritures peuvent êtres appliquées à trois familles de noms :<br />

les modules ;<br />

les classes ;<br />

les fonctions et variables globales d’un module, les méthodes et attributs d’une<br />

classe.<br />

Les modules doivent êtres écrits en lowercase. Il faut cependant veiller à ne pas utiliser<br />

des noms de plus de huit caractères pour éviter par exemple, que votre code qui fonctionne<br />

parfaitement sous GNU/Linux, ne marche plus sous certaines versions de<br />

MS-DOS à cause de problèmes d’importation.<br />

La recommandation précédente était de nommer les modules de deux manières différentes<br />

suivant leur appartenance à une des deux sous-familles de modules :<br />

les bibliothèques ;<br />

les modules de classe.<br />

Les bibliothèques sont des modules contenant un certain nombre de fonctions et de<br />

classes. C’est le cas par exemple d’imaplib, de smtplib, ou encore de gzip.<br />

Les modules de classe sont des modules qui ne contiennent qu’une seule classe et<br />

quelques éléments supplémentaires comme des définitions de constantes. Le module<br />

porte en général le même nom que la classe qu’il contient et utilise une notation<br />

CapitalizedWords.<br />

Il est préconisé aujourd’hui, outre le fait d’abandonner la notation CapitalizedWords, de<br />

ne plus créer un module par classe mais de préférer un regroupement logique des classes,<br />

à différencier du regroupement fonctionnel proposé par les modules de type bibliothèques.<br />

Ce regroupement est en général défini par les relations entres classes : une classe de<br />

base et ses classes dérivées, les classes en charge du même lot de fonctionnalités, etc.<br />

205

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!