Livrables, normes et conventions de codage Flashcards

1
Q

Parties prenantes

A

! Les développeurs
! Les analystes
! L’équipe d’exploitation
! L’équipe de réseautique
! L’équipe de maintenance
! Le bureau de projet
! Les responsables de la sécurité
! Les administrateurs de bases de données
! L’équipe d’assurance-qualité

! La direction
! Les utilisateurs
! Saisie de données
! Intelligence d’affaire
! Etc.
! Les différents commanditaires
! Le service des communications
! Le service de vérification interne
! Autres service
! Comptabilité
! Ressources humaines(formation), Etc.

! Les différents paliers de gouvernement
! Les agences de règlementation et de surveillance
! Les actionnaires
! Les clients
! Les fournisseurs
! Les partenaires externes
! Les vérificateurs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Les livrables de projet inclus :

A

– La documentation
– Le code source
– Les tests
– Les fichiers connexes ! JAR, SQL, ANT, etc.
– Les versions du logiciel
– Les dépendances et leurs versions
– Projet construit pour le déploiement

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

La documentation doit inclure:

A

– La documentation pour les développeurs
– La documentation pour les administrateurs
– Administrateur de systèmes, administrateur de base de données, administrateurs de sécurité, etc.
– La documentation pour les gestionnaires
– La documentation pour les utilisateurs
– Wiki du projet
– Les diagrammes du projet
– Etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Les différents documents utilisés durant le cycle
de développement du logiciel:

A

– Spécifications du logiciel
– Diagrammes de classes,
– Diagrammes de séquences,
– Schéma relationnel,
– Diagrammes de cas d’utilisation,
– etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Le code source doit suivre des normes et conventions de
codage

A

– un ensemble de règles à suivre
! pour uniformiser les pratiques de développement logiciel,
! diffuser les bonnes pratiques de développement
! éviter les erreurs de développement “classiques” au sein d’un groupe de
développeurs.

– s’articulent autour de plusieurs thèmes :
! Le nommage et l’organisation des fichiers du code source
! le style d’indentation
! Les conventions de nommage, ou règles de nommage
! Les commentaires et documentation du code source
! Recommandations sur la déclaration des variables
! Recommandations sur l’écriture des instructions, des structures de
contrôle et l’usage des parenthèses dans les expressions
! Recommandations sur la la gestion des erreurs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Normes
! Le génie logiciel repose sur un ensemble de normes
au niveau international permettant de définir :

A

– le champ de connaissance et d’application.
– un processus normalisés

! Organismes principaux
– Institute of Electrical and Electronics Engineers (IEEE)
– International Organization for Standardization (ISO)
– Software Engineering Institute (SEI)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Les normes suggèrent une structure de base au
projet :

A

Ø Documentation et Méthodologie
Ø Adaptée selon le type projet
Ø Suggestion — pas d‘imposition ni d‘obligation

! Exemple de normes
– Software Engineering Body of Knowledge (SWEBOK Guide)
– Capability Maturity Model (CMM)
– ISO 29110 / ISO 12207 / ISO 15504
– IEEE Std. 730 / 828 / 829

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Art de la programmation
! La programmation est un art où chaque
développeur possède :

A

– Sa propre personnalité
– Son propre esprit créatif
– Son propre style

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Convention de codage

A

Formatage du code;
Formatage de la documentation dans le code;
Nomenclature;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

! Tabulations vs Espaces
– Nombre d’espaces, tabulation
– Position des espaces
! Dans les parenthèses, après les mot-clés, etc.

! Accolades vs Indentation
– Nombre d’espaces d‘indentation
– Position des accolades

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

! Position des éléments vs ordre d‘apparition des
éléments

A

– La largeur des lignes de code
– La position des déclarations de variables
– La mise en page des commentaires
– L‘ordre d‘apparition des variables membres,
constructeurs, destructeurs, méthodes publiques, etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

! Nomenclature vs Casse

A

– Le choix des noms des identifiants
! Choisissez des noms prononçables et significatifs.
! Facile a chercher - Pas de codification (notation hongroise - strName)
! Le plus important de la convention de codage,
! Impacte fortement la lisibilité du code
– Préfixes, suffixes, classes, variables, packages, la casse des identifiants
– Des verbes d’action pour commencer les noms des méthodes.
– Choix de la casse
! Point de discussion très fréquent
! Différent type
– camelCase
– PascalCase
– snake_case
– hyphen-case

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Avantage
! Raisons d’utiliser une bonne convention de codage :

A

– Faits
! 80% du coût durant la vie d’un logiciel est lié à sa maintenance.
! Il est rare que la maintenance d’un logiciel soit effectuée durant
toute sa durée d’existence par la même personne qui a écrit le code.

– Conséquence
! Utiliser une bonne convention de codage améliore la capacité de
maintenance du code d’un logiciel.
! Si le code source est envoyé au client à la fin du projet, il doit être
fonctionnel et aussi bien structuré.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Avantage
! Améliorer la lisibilité, la cohérence et
l’homogénéité du code - Impact :

A

– plus facile à comprendre et à maintenir.
– plus facile de suivre et déboguer le code.
– plus facile de reprendre du code après une longue période d’arrêt.
– plus efficace les “code walkthroughs«

! On comprend mieux et plus rapidement ce que fait le
code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Recommandations

A

! Rendre le code homogène.
– L’utilisation de plusieurs conventions de codage différents dans un même fichier ou ensemble de fichiers vont nuire à la lisibilité
– Uniformiser le code en n’adoptant qu’une seule convention de codage pour toute l’équipe
– Peu importe la convention de codage , tant que toute l’équipe suit le même standard

! Rendre le code clair et facile à lire.
– Organiser de façon logique vos fichiers et vos classes.
– Utiliser des lignes avec un nombre limité de caractères.
– Utiliser judicieusement les espaces blancs, les tabulateurs et/ou tout autre séparateur.

! Utilisez des identifiants compréhensibles.
– Choisissez des noms significatifs.

! Établir et partager la norme de codification au sein de l’équipe
– Standard de programmation de l‘équipe \ Team coding convention
! Certains langages de programmation, comme Java, ont déjà un Standard de programmation prédéfinie.
! D’autres langages de programmation, comme C++, ont un Standard de programmation qui n’est pas normalisé, mais défini par les pratiques de l‘industrie.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Agilité vs norme de codage
Garder le standard établi concis et
simple

A

Agilité: Adaptabilité; Flexibilité
Norme: Contraintes; Rigidité

17
Q

Outils disponibles

A

L’ensemble des outils des développeurs (écosystème de développement):

! IDE
– Configurer l’IDE de façon à respecter automatiquement le standard établi
! Outil – Options – Editeur – Formatage – Language

! Beautifier
– Mise en forme automatique

! Checkstyle
– Vérification automatique du style (convention de codage)
C‘est outils sont facilement intégrable avec votre IDE