138 lines
7.0 KiB
Plaintext
138 lines
7.0 KiB
Plaintext
<!DOCTYPE html>
|
|
<html lang="fr">
|
|
<!-- Updated by Blorec Hervé le 2016-08-14-->
|
|
<head>
|
|
<title>JMRI: Pratiques Recommandées</title>
|
|
<meta name="author" content="Bob Jacobsen">
|
|
<meta name="keywords" content="JMRI technical code standards recommendation Swing">
|
|
<!--#include virtual="/help/fr/parts/Style.shtml" -->
|
|
</head>
|
|
|
|
<body>
|
|
<!--#include virtual="/help/fr/parts/Header_fr.shtml" -->
|
|
<div id="mBody">
|
|
<!--#include virtual="Sidebar.shtml" -->
|
|
<div id="mainContent">
|
|
<!-- Page Body -->
|
|
|
|
<h1>JMRI: Pratiques Recommandées</h1>
|
|
|
|
Voici la page d'infos diverses et des pointeurs pour les développeurs JMRI.
|
|
|
|
<h2>Class Library Preferences</h2>
|
|
|
|
<ul>
|
|
<li>
|
|
Nous utilisons Java Swing pour notre développement de l'Interface Graphique Utilisateur (GUI). Il est beaucoup plus puissant
|
|
que l'AWT d'origine, et le prix est juste. Nous avons recommandé un
|
|
modèle d'organisation et d'utilisation qui est documenté sur
|
|
<a href="Swing.shtml"> une autre page</a>.</li>
|
|
|
|
<li> JMRI utilise les bibliothèques RXTX pour soutenir les communications série sur Macintosh,
|
|
Linux et Windows. Sous Windows uniquement, le paquet de Serialio
|
|
<a href="http://Serialio.com"> Serialio.com</a> est également utilisé
|
|
pour être en mesure d'utiliser la vitesse de transmission MS100. Pour ce faire, la
|
|
classe jmri.jmrix.loconet.ms100.MS100Adapter a été convertie pour utiliser la
|
|
réflexion de Java pour décider si le paquet Serialio est
|
|
disponible; sur d'autres systèmes, il utilise RXTX.
|
|
Notez que notre licence de Serialio est limitée à ce seul usage;
|
|
nous ne sommes pas autorisés à distribuer les bibliothèques à d'autres fins.</li>
|
|
|
|
<li>Prenez quelques instants pour en apprendre davantage sur les types différents de
|
|
<a href="http://java.sun.com/j2se/1.5.0/docs/guide/collections/overview.html"> collections Java</a>
|
|
qui sont disponibles
|
|
(<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html">Liste</a>,
|
|
<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/HashMap.html">HashMap</a>,
|
|
etc)
|
|
dans le paquet
|
|
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/package-summary.html"> java.util</a>.
|
|
Tout ne doit pas être un Vecteur ou un tableau.</li>
|
|
|
|
<li>
|
|
JMRI utilise largement les
|
|
<a href="http://java.sun.com/docs/books/tutorial/java/generics/index.html"> génériques Java</a>
|
|
pour
|
|
<a href="http://java.sun.com/docs/books/tutorial/java/generics/generics.html"> réduire les erreurs et
|
|
améliorer la compréhension</a>.
|
|
Avec beaucoup de gens qui écrivent et partagent le code, à l'aide de
|
|
génériques au lieu de casts, rend beaucoup plus facile la compréhension du code,
|
|
et permets au compilateur de corriger de nombreux malentendus sur la façon dont les choses
|
|
devraient être utilisées. La plupart des informations importantes à leur sujet peuvent
|
|
être trouvées sur
|
|
<a href="http://java.sun.com/docs/books/tutorial/java/generics/gentypes.html"> cette page</a> du Tutoriel Java.</li>
|
|
|
|
<li>
|
|
Si vous avez besoin d'utiliser les fichiers de variables séparées par des virgules (CSV),
|
|
s'il vous plaît utiliser les
|
|
<a href="https://commons.apache.org/proper/commons-csv/"> API Apache Commons CSV</a>
|
|
si possible. Nous utilisons déjà, dans un certain nombred'endroit,
|
|
et probablement l'utiliser plus. Si cela ne donne pas
|
|
suffisamment de fonctionnalités, nous pourrions éventuellement passer à l'
|
|
<a href="http://opencsv.sourceforge.net/"> API opencsv</a>, mais comme nous voulons n'en utiliser qu'un
|
|
la conversion demandera beaucoup de travail.</li>
|
|
</ul>
|
|
|
|
<h2>Format du Code</h2>
|
|
Les
|
|
<a href="http://www.oracle.com/technetwork/java/codeconventions-150003.pdf"> Conventions Code Java </a>
|
|
pour les noms, mise en forme, etc sont vraiment utiles.
|
|
Si vous trouvez que vous ne pouvez pas lire un morceau de code, ceux-ci vous aideront à mieux faire.
|
|
|
|
<p>
|
|
Notez que nous avons quelques conventions locales au-delà de celles qui sont dans les recommandations Java.
|
|
Vous les trouverez sur d'autres pages dans cette section, mais par exemple, nous recommendons
|
|
que vous définissiez le <a href="Logging.shtml">référence de journalisation</a> en bas de chaque fichier.
|
|
|
|
<h2>Code Obsolète</h2>
|
|
|
|
Comme le développement se poursuit, parfois d'anciennes façons de faire les choses doivent être remplacées par
|
|
de nouvelles façons.
|
|
Dans de nombreux cas, vous pouvez simplement changer tout le code utilisé dans votre répertoire
|
|
et avancer.
|
|
|
|
Pour les interfaces générales qui pourraient être utilisés à l'extérieur de JMRI,
|
|
comme dans les scripts et les CATS,
|
|
il peut être bon de laisser l'ancienne interface en place pendant un certain temps,
|
|
en la marquant comme "obsolète" de sorte que les gens peuvent découvrir qu'elle
|
|
finira par disparaître.
|
|
Après un nombre suffisant de cycles de parution,
|
|
l'Interface obsolète peut alors être retirée.
|
|
<p>
|
|
Notez que l'interface obsolète est destinée à travailler encore.
|
|
Obsolète devrait seulement dire que vous
|
|
ne pouvez pas compter sur l'interface obsolète pour travailler à l'avenir,
|
|
de sorte qu'il serait bon de coder ailleurs, pendant que ça fonctionne toujours.
|
|
|
|
<p>
|
|
Vous pouvez travailler avec les contrôles relatifs à l'obsolescence "on" lors de la compilation.
|
|
Pour ce faire, changez cette ligne de build.xml:
|
|
<code>
|
|
<property name="deprecation" value="on" />
|
|
</code>
|
|
|
|
Cela vous permet d'être attentif aux nouveaux avertissements de désapprobation quand vous codez.
|
|
|
|
<p>
|
|
Il existe deux formes pour marquer quelque chose comme obsolète (tag Javadoc et Annotation),
|
|
et tous deux vous permettent d'ajouter des informations supplémentaires. Une belle discussion
|
|
des techniques est
|
|
<a href="http://download.oracle.com/javase/1.5.0/docs/guide/javadoc/deprecation/deprecation.html">ici</a>.
|
|
|
|
Nous les utilisons de cette façon:
|
|
|
|
<code>
|
|
* @ Deprecated 2.7.8
|
|
|
|
@ Deprecated // 2.7.8
|
|
</code>
|
|
|
|
où la ligne contenant la version dans laquelle la dévalorisation est appliquée.
|
|
Cela vous permet de savoir facilement depuis combien de temps elle a été désapprouvée.
|
|
|
|
<!--#include virtual="/help/fr/parts/Footer_fr.shtml" -->
|
|
</div><!-- closes #mainContent-->
|
|
</div> <!-- closes #mBody-->
|
|
<script src="/js/help.js"></script>
|
|
</body>
|
|
</html>
|