Vous êtes sur la page 1sur 5

UNIVERSITE IBN TOFAIL

CheckList Java

Ralis par:
SLIMANI Khadija LEMACHA Jihad BOUZIANE Ghizlane DRISSI EL BOUZAIDI Yasmine

Encadr par: Mr. NAFIL Khalid

1. Les dclarations et initialisations


Les questions poses : Est-ce que les conventions de nommage sont respectes ? (On doit vrifier par exemple que lidentificateur ne commence pas par un chiffre ,les variables locales et prives doivent tre en minuscules ,les constantes doivent tre en majuscules..) Y a-t-il des variables avec des noms similaires? Est-ce que toutes les variables locales et globales sont initialises avant usage ? Est-ce que les variables sont dclares dans la bonne porte? Y a-t-il des constantes littrales qui doivent tre nomms constantes? Y a-t-il des macros qui doivent tre constantes? Y a-t-il des variables qui doivent tre constantes? Est-ce que toutes les importations ncessaires sont incluses?

2. Les fonctions
Les questions poses : Est-ce que les conventions de nommage sont respectes ? (On doit vrifier par exemple que les mthodes publiques doivent commencer par une minuscule et que tout changement de mot descriptif se fait via une majuscule.) Est-ce que la bonne mthode est appele? Est-ce que les paramtres sont prsents dans le bon ordre? Est-ce quon a vrifi la valeur et le type de chaque paramtre de la fonction avant d'tre utilis? Pour chaque fonction, est-ce que la valeur retourne est correcte ?

3. Les classes
Les questions poses Est-ce que chaque classe possde un constructeur et destructeur ? La hirarchie d'hritage de classe peut-elle tre simplifie?
2

Y a-t-il des classes drives qui ont des variables ou mthodes en commun qui devraient tre dclares dans la classe mre ?

Pour chaque lement priv dune classe : Est ce quon a vrifi quon ne peut pas y accder en dehors de la classe ?

4. Les commentaires
Les questions poses Est-ce que chaque mthode, classe, et fichier ont un commentaire appropri? Est-ce que chaque attribut, variable ou dclaration de constante ont un commentaire? Est-ce que le comportement sous-jacent de chaque mthode et classe exprime en langage simple? Est-ce que le commentaire pour chaque mthode et classe cohrent avec le comportement de la mthode ou de la classe? Est-ce que tous les commentaires sont compatibles avec le code? Est-ce que les commentaires aident comprendre le code? Y a-t-il suffisamment de commentaires dans le code? Y a-t-il trop de commentaires dans le code?

5. Les tableaux
Les questions poses Y a-t-il des erreurs off-by-on dans l'indexation du tableau. Est-ce que les indexes pourront dpasser les bornes?

6. Les fichiers
Les questions poses Est-ce que tous les fichiers sont dclars et ouverts proprement? Est-ce que tous les fichiers sont proprement ferms, mme dans le cas dune erreur? Est-ce que les conditions du EOF sont dtectes et traites correctement?

Est-ce que toutes les exceptions des fichiers sont gres?

7. Flux de contrle
Les questions poses Dans une instruction conditionnelle select, est-ce que chaque cas se termine par un return ou un break? Est-ce que toutes les instructions conditionnelles select disposent dune branche default? Est-ce que toutes les boucles sont bien formes avec une initialisation, incrmentation et terminaison correctes? Est-ce que les parenthses et les accolades sont bien mises en place?

8. Modularits
Les questions poses Y a-t-il un niveau de couplage entre modules (mthodes et classes) faible? Y a-t-il un niveau lev de cohsion au sein de chaque module (mthodes ou classe)? Est-il le code rptitif qui pourrait tre remplace par un appel une mthode qui fournit le comportement du code rptitif?

9. Performances
Les questions poses De meilleures structures de donnes ou des algorithmes plus efficaces peuvent tre utiliss? Est-ce que les tests sont organiss de telle faon que les tests russis et moins coteux prcdent les tests les plus pensifs et souvent moins russis Le cot de recalculer une valeur peut tre rduite par le calcul une fois et stocker les rsultats? Est chaque rsultat qui est calcul et stock rellement utilise?
4

Un calcul peut tre dplac en dehors d'une boucle? Y a-t-il des tests dans une boucle qui n'ont pas besoin d'tre fait? Une petite boucle peut tre droule? Y a-t-il deux boucles oprant sur les mmes donnes qui peuvent tre combins en un seul? Sont des variables frquemment utilises dclar registre? Sont des mthodes court et communment appels dclares inline? Sont les dlais d'attente ou les piges d'erreur utilises pour priphrique externe accde?

10. Comparaison / Relationnel


Les questions poses A chaque expression boolenne t simplifie par des ngations de conduire vers l'intrieur? Pour chaque test boolen: Est du bon tat vrifi? Y a-t-il des comparaisons entre les variables de types incompatibles? Les oprateurs de comparaison sont-ils corrects? Est ce que chaque expression boolenne correcte? Y a-t-il des effets secondaires irrgulires et inaperu de la comparaison?

Est-ce que le code d'viter la comparaison des nombres virgule flottante pour l'galit?

Vous aimerez peut-être aussi