Style et conventions de programmation v1.2. Département de génie électrique 2 LOG120 : Style et conventions de programmation Automne 2003 Références Inspiré.

Slides:



Advertisements
Présentations similaires
CASTEL Dennis SARZEAUD Floriane TAKAHASHI Atsushi.
Advertisements

A propos de java Sun, fin 1995 C++ nettoyé semi-interprété
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
ENSEIGNER PAR COMPETENCES EN PHYSIQUE-CHIMIE
19 septembre 2006 Tendances Logicielles MDD/MDA : Génération dapplications avec IBM Rational Software Architect Jean-Pierre Schoch –
Bienvenue dans le programme de formation rapide à NSIS Date : 20 novembre 2003 Intervenant : Julien VICTOR Interlocuteurs : Ingénieurs 2000 Informatique.
Introduction à Java - les paquetages -
TRANSFER Alger – Serveur Web Nicolas Larrousse Septembre Petit historique du Worl Wide Web Notion dHypertexte Extension à internet par Tim Berners.
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
ESCPI 1 Programmation par contrats Une méthode appelée Appel de la méthode Si le contrat est respecté : Pré-assertions Lappelant En retour le contrat est.
Rational Unified Process (RUP)
Les Ateliers de Génie Logiciel
Programmation par Objets et Java
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
LES OUTILS POUR LA GOUVERNANCE DES DONNÉES LA PASSION DES DONNÉES LA PRÉCISION DES RÉSULTATS.
Prochaines étapes Et maintenant?.
30 octobre 2002 Orsay Tracking – analyse des données Définition claire des objectifs, des limites Le travail a déjà commencé (TMR) Compte-rendu ? Base.
LES OUTILS POUR LA GOUVERNANCE DES DONNÉES LA PASSION DES DONNÉES LA PRÉCISION DES RÉSULTATS.
Bibliothèque standard du C++
BIENVENUE TOUT LE MONDE au Module :
Principes de programmation (suite)
Projet informatique : optimisation du déplacement d’un robot
Modèle, Méthode et Conception
Systèmes d’information dans les entreprises (GTI515)
Microsoft dot Net Extrait du cours. La programmation fenêtrée facile. Une approche objet. Philippe Garraud: Formateur indépendant.
Techniques de test Boulanger Jean-Louis.
INFO 114 IRIDIA – Université Libre de Bruxelles
Paul Bories Cyril Enrici Bouzidi Gharoual Kevin Royere
Algorithmique et Programmation
TESTING BUSINESS PROCESSES
M.D. 4 mars 2004Réunion de groupe CMS-Saclay1 Nouvelles de lélectronique VFE : Composants Bruit sur le système Token-ring : Compréhension et test du système.
Principes de programmation (suite)
Équipe de projet Méthodologie
Architecture dun site de vente au détail1 Modèle d'un site simple de vente Lexemple du livre Ruby on Rails Partie II Java Adventure Builder Demo Réalisé.
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
Les systèmes multiplateformes
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) Plate-forme.NET.
SEG2505 – Introduction au Génie Logiciel Plan de cours – Automne 2012.
Structures de données IFT Abder Alikacem Semaine 2 Tests sur les pointeurs Département d’informatique et de génie logiciel Édition Janvier 2009.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Efficacité des algorithmes
GEF COCOMO pour maintenance et réutilisation
Mesures orientées objet GEF492A 2014 Référence: [HvV §12.1.6] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et génie informatique.
Gestion Electronique de Course
Développement d'application rapide GEF492A Automne 2014 [HvV § 3.2.3]
Vérification dans le cycle de vie GEF492A 2014 Référence: [HvV §14.2, 14.9] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et.
Estimer la distribution en personnel GEF492A 2014 Référence: [HvV §7.3] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et génie.
Le Rational Unified Process GEF492A 2014 Référence: [Roy ch ] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et génie informatique.
Introduction au Génie Logiciel
Date DOC-DEPOT.COM - ‘' Mon essentiel à l'abri en toute confiance '' Titre du document - Confidentiel -
SLAM 1 Exploitation d’un schéma de données
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
BOUML Bruno pages.
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Préambule Hiver 2002 Petko Valtchev.
Révision mi-session GEF492A 2014 Vincent Roberge Automne 2014.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapitre 2: Review of Object Orientation.
Présentation Les Outillages.
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Le Processus Hiver 2002 Petko Valtchev.
22 Concepts de base du langage Java. 2-2 Objectifs A la fin de ce cours, vous serez capables de : Identifier les éléments essentiels de Java Identifier.
Présentation Projet 120 H BIARDEAU Mickaël FI3 AII – DEA AI Poste de travail interactif basé sur le geste (Partie image)
Modèle à objets et sérialisation Olivier ChamlaFrançois Chastanet.
Programmation Collège militaire royal du Canada Génie électrique et génie informatique.
Dictée achevée sur l’ordinateur
Activité course d’orientation
Soumis par: DRPU équipe Software Site:
UML : méthode Processus. Introduction(1) ● Cycles ● Spécification par cas d'utilisation ● Identifier les besoins ● Analyse par cas d'utilisation ● Affiner.
SDIS 47 Equipe Cynotechnique. Rapport d’Activités 2012.
1 UML: applications, études de cas ● Processus (Extreme Programming, Unified Process) ● Architectures ● Expression du besoin technique Conception Préliminaire.
LES FIGURES DE STYLE ?.
Int 10. Int 6.
Transcription de la présentation:

Style et conventions de programmation v1.2

Département de génie électrique 2 LOG120 : Style et conventions de programmation Automne 2003 Références Inspiré de Software Engineering Roger S. Pressman Java Code Conventions Java Programming Guidelines générées par Rational Unified Process (RUP)

Département de génie électrique 3 LOG120 : Style et conventions de programmation Automne 2003 Conventions LOG120 Ces conventions vous sont imposées Le non respect peut entraîner la perte de points (jusqu'à 10%) Pour plus de détails / exemples, voir

Département de génie électrique 4 LOG120 : Style et conventions de programmation Automne 2003 Style de programmation Règles générales compréhension facile Conventions pour le code lecture plus rapide spécificités pour Java

Département de génie électrique 5 LOG120 : Style et conventions de programmation Automne 2003 Compréhension du code source Code source lisible et compréhensible int m = , N, t[1 << 22], a, *p, i, e = 1 << 22, j, s, b, c, U; (tiré de Noeud suivant = courrant.suivant();

Département de génie électrique 6 LOG120 : Style et conventions de programmation Automne 2003 Style de programmation Noms descriptifs variables, fonctions, types,... Exécution visible conditions, boucles,... Commentaires classe, fonction, instruction,...

Département de génie électrique 7 LOG120 : Style et conventions de programmation Automne 2003 Noms descriptifs Donnent suffisamment d'information contexte, terminologie adéquate au domaine auditoire soi-même programmeur de la même équipe programmeur faisant la maintenance

Département de génie électrique 8 LOG120 : Style et conventions de programmation Automne 2003 Noms descriptifs Ne pas trop utiliser d'abréviations : nombreDePointsParVecteur nbPtsV Essayer de s'en tenir à moins de 15 caractères nombreDePointsParVecteur // 24 pointsParVecteur // 16 Noms relatifs au contexte

Département de génie électrique 9 LOG120 : Style et conventions de programmation Automne 2003 Noms descriptifs Éviter les noms qui se ressemblent dbSql dbSQL caracteresLettre caractereLettre Pas de "_" en début ou fin réservé pour le système

Département de génie électrique 10 LOG120 : Style et conventions de programmation Automne 2003 Noms : très important ! Classes première lettre de chaque mot en majuscule : class ServeurImagesCouleur Interfaces comme les classes : interface ServeurDonnees

Département de génie électrique 11 LOG120 : Style et conventions de programmation Automne 2003 Noms : très important ! Méthodes première lettre de chaque mot en majuscule, sauf la première du nom de la méthode : envoieImageCouleur();

Département de génie électrique 12 LOG120 : Style et conventions de programmation Automne 2003 Noms : très important ! accès aux champs get getLength(), getColor() set setFile(), setEncriptionKey() is, has ou can (valeur booléenne) isEnabled(), hasConnection(), canDial()

Département de génie électrique 13 LOG120 : Style et conventions de programmation Automne 2003 Noms : très important ! Variables première lettre de chaque mot en majuscule, sauf la première du nom de la variable : int nombreDeCouleurs;

Département de génie électrique 14 LOG120 : Style et conventions de programmation Automne 2003 Noms : très important ! Constantes entièrement en majuscules, mots séparés par soulignement ("_") : static final int MAX_COULEURS = 4096;

Département de génie électrique 15 LOG120 : Style et conventions de programmation Automne 2003 Commentaires Conseil : les écrire avant d'écrire le code Décrire le "pourquoi" plutôt que le "quoi" le code et le contexte donnent déjà une bonne idée de ce qui se passe

Département de génie électrique 16 LOG120 : Style et conventions de programmation Automne 2003 Exemple double S( ListOfDouble list ) { double sum = 0.0; ListOfDoubleIterator it = list.Begin(); while ( !it.IsAtEnd() ) { sum += it.Value(); } return( sum ); } corps de la fonction est court nom de la fonction est peu descriptif sous-bloc de la boucle est clair

Département de génie électrique 17 LOG120 : Style et conventions de programmation Automne 2003 Formatage du code Pourquoi? lecture plus rapide facilite le travail en équipe, la réutilisation du code code d'une autre personne formaté comme le sien éléments toujours positionnés de la même façon

Département de génie électrique 18 LOG120 : Style et conventions de programmation Automne 2003 Formatage du code Peut être frustrant choix parfois arbitraires imposés (par l'employeur) change nos habitudes S'avère toutefois bénéfique pour l'équipe pour la maintenance du code

Département de génie électrique 19 LOG120 : Style et conventions de programmation Automne 2003 Conventions pour fichiers Taille <= 2000 lignes <= 80 colonnes Extension des fichiers (Java) source :.java bytecode :.class

Département de génie électrique 20 LOG120 : Style et conventions de programmation Automne 2003 Structure des fichiers Sections et ordre (Java) commentaires commentaires de début de fichier standard pour LOG120 énoncés package et import déclarations class et interface

Département de génie électrique 21 LOG120 : Style et conventions de programmation Automne 2003 Structure d'une classe Ordre des éléments variables static variables d'instance constructeurs méthodes Pour chaque élément public, protected, puis private

Département de génie électrique 22 LOG120 : Style et conventions de programmation Automne 2003 Indentation 4 espaces Les doivent être exactement à tous les 8 espaces

Département de génie électrique 23 LOG120 : Style et conventions de programmation Automne 2003 Changement de ligne Après une virgule methodeA(param1, param2, param3, param4); Avant un opérateur resultat = termeA * termeB / pi; calcule = termeC * (resultat - termeLongAEcrire); Indentation au niveau courrant

Département de génie électrique 24 LOG120 : Style et conventions de programmation Automne 2003 Déclarations Une par ligne bon : int jour; int mois; mauvais : int jour, mois; Au début des bloques

Département de génie électrique 25 LOG120 : Style et conventions de programmation Automne 2003 Déclarations Au début des bloques void maMethode() { int monInt1 = 0; if (condition) { int monInt2 = 0;.... } }

Département de génie électrique 26 LOG120 : Style et conventions de programmation Automne 2003 Instructions Une par ligne bon : argv++; argc++; moins bien argv++; argc++; a = (b = c) + 1; // 2 assignations

Département de génie électrique 27 LOG120 : Style et conventions de programmation Automne 2003 Instructions return, if, for, while, do-while, switch, try-catch : voir conventions de Sun :