Iremia, R.Courdier
14/02/2003 1
© Rémy Courdier (révision M. GANGAT) 1996 - 2003 - Conventions - Version du cours 3.0 1
Chapitre 3 : Conventions de codage
Conventions de codage
Java
© Rémy Courdier (révision M. GANGAT) 1996 - 2003 - Conventions - Version du cours 3.0 2
Sommaire
Conventions de codage Java
Intérêt
Principales Conventions
JavaDoc
Références
Références
Code Conventions for the JavaTM Programming Language
http://java.sun.com/docs/codeconv/
Intérêt
80% de la durée de vie d’un logiciel est
consacrée à la maintenance
Un logiciel est rarement maintenu par le
même auteur tout au long de sa vie
Les conventions de codage améliorent
la lisibilité du code, permettant de
comprendre plus rapidement du
nouveau code
Iremia, R.Courdier
14/02/2003 2
© Rémy Courdier (révision M. GANGAT) 1996 - 2003 - Conventions - Version du cours 3.0 3
Principales conventions de nommage
Organisation des fichiers
Le fichier .java doit avoir le même nom que la classe public qu’il décrit
1 fichier .java par classe, même pour celle contenant le main()
exception pour les inner classes
Eléments de base
paquetages minuscules
classes MajusculePourLaPremiereLettreDeChaqueMot
terminé par Imp (si besoin de la distinguer d’une interface)
interface MajusculePourLaPremiereLettreDeChaqueMot
terminé par ifc (si besoin de la distinguer d’une classe)
méthodes minusculePourLaPremiereLettre
constantes MAJUSCULES_AVEC_SOULIGNE
variables minusculePourLaPremiereLettre
© Rémy Courdier (révision M. GANGAT) 1996 - 2003 - Conventions - Version du cours 3.0 4
Tags de la javadoc
Documentation des ‘ Packages ’ :
@see, {l@link}, @since
Documentation des Classes et Interfaces:
@see, {l@link}, @since, @depredicated, @author, @version
Documentation des Attributs :
@see, {l@link}, @since, @depredicated, @serial,
@serialField
Documentation des Méthodes :
@see, {l@link}, @since, @depredicated, @param, @return,
@throws (@exception), @serialData
Iremia, R.Courdier
14/02/2003 3
© Rémy Courdier (révision M. GANGAT) 1996 - 2003 - Conventions - Version du cours 3.0 5
Exemple de codage pour une classe
Pour une classe
/** classe <NomDeClasse>.java
* Définition de …
* <pre>
* Date Auteur Libelle
* -------------------------------------------------
* 1/3/98 R.Courdier creation
* 1/4/98 R.Courdier modif. de la classe maClasse
* </pre>
*@author R.Courdier
*@version 1.0 3/4/98
*@see awt.Button
*/
class <nomDeClasse> {
...
}
© Rémy Courdier (révision M. GANGAT) 1996 - 2003 - Conventions - Version du cours 3.0 6
Exemple de codage pour une méthode
Pour une méthode
/**
* Returns the character at the specified index. An index
* ranges from <code>0</code> to <code>length() -</code>.
*
* @param index the index of the desired character.
* @return the desired character.
* @exception StringIndexOutOfRangeException
* if the index is not in the range <code>0</code>
* to <code>length()-1</code>.
* @see java.lang.Character#charValue()
*/
public char charAt(int index) {
...
}
Iremia, R.Courdier
14/02/2003 4
© Rémy Courdier (révision M. GANGAT) 1996 - 2003 - Conventions - Version du cours 3.0 7
La commande Javadoc
javadoc -sourcepath /jdk/src/classes /* Path for source files */
-d/jdk/build/api /* Destination directory */
-use /* Adds "Use" files */
-splitIndex /* Splits index A-Z */
-windowtitle $(WINDOWTITLE) /* Adds a window title */
-doctitle $(DOCTITLE) /* Adds a doc title */
-header $(HEADER) /* Adds running header text */
-bottom $(BOTTOM) /* Adds text at bottom */
-group $(GROUPCORE) /* Core heading for overview page */
-group $(GROUPEXT) /* Ext heading for overview page */
-overview overview-core.html /* For overview text */
-J-Xmx180m /* For 180MB memory */
java.lang java.lang.reflect /* Packages to document */
java.util java.io java.net
WINDOWTITLE = 'Java Platform 1.2 Final API Specification'
DOCTITLE = 'Java<sup><font size="-2">TM</font></sup> Platform 1.2 Final API'
HEADER = '<b>Java Platform 1.2</b><br><font size="-1">Final</font>'
BOTTOM = '<font size="-1">Java is a trademark or registered trademark
of Sun Microsystems, Inc.<br>Copyright … font>'
GROUPCORE = '"Core Packages" "java.*:com.sun.java.*:org.omg.*"
GROUPEXT = '"Extension Packages" "javax.*"'
© Rémy Courdier (révision M. GANGAT) 1996 - 2003 - Conventions - Version du cours 3.0 8
Principales Conventions sur les fichiers
Exemple de Javadoc
généré avec le jdk 1.2
Iremia, R.Courdier
14/02/2003 5
© Rémy Courdier (révision M. GANGAT) 1996 - 2003 - Conventions - Version du cours 3.0 9
Convention de nommage des méthodes
Méthodes spécifiques…
méthode de conversion retournant un objet de type X :
X toX(...);
accesseurs donnant la valeur d’un attribut y de type X :
X getY()
accesseurs modifiant la valeur d’un attribut y de type X :
void setY(X val)
© Rémy Courdier (révision M. GANGAT) 1996 - 2003 - Conventions - Version du cours 3.0 10
100 % Pure Java
Programme de certification de SUN garantissant la
portabilité d'une application Java :
«Write Once, Run Anywhere »
Assurance : Phase de tests réalisés par le
développeur à l’aide de l ’outil « JavaPureCheck »
qui identifie les problèmes de portabilité.
Vérification : Phase de tests approfondis réalisés par
un organisme indépendant qui peut délivrer la
certification.
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !