Version 9 (modified by 9 years ago) ( diff ) | ,
---|
Richtlijnen voor ontwikkelen
Hoe uw code er uit zou moeten zien
- zorg er voor dat de code compatibel is met Java 8
- zorg er voor dat er geen witruimte achter staat
- gebruik niet meerdere lege regels achter elkaar
- JOSM gebruikt 4 tekens voor inspringen en geen tabstops (Als u Notepad++ gebruikt kunt u de standaard inspringing wijzigen in de "Voorkeuren" -> "Tabs" -> selecteer "Omzetten in spaties" (dit is permanent) of met de knop "Instellingen insprong wijzigen" in de werkbalk door het vinkje te verwijderen bij "Tabs gebruiken" (dit is een tijdelijke instelling).)
- Documenteer uw code uitvoerig. Veel mensen zullen u daar dankbaar voor zijn :)
- voeg gekrulde haken toe voor elke
if
, tenzij die wordt gevolgd door eenreturn
(of misschien eenthrow
) - controleer uw wijzigingen vóór patch/commit:
ant checkstyle
en controleercheckstyle-josm.xml
; indien u vindt dat het uitvoeren van checkstyle te lang duurt voor alle bestanden, voer het dan alleen uit op de gewijzigde bestanden:
svn diff --summarize | awk '{ print $2 }' | xargs java -jar tools/checkstyle/checkstyle-6.14.1-all.jar -c tools/checkstyle/josm_checks.xml # or git diff --name-only | xargs java -jar tools/checkstyle/checkstyle-6.14.1-all.jar -c tools/checkstyle/josm_checks.xml
Hoe uw javadoc er uit zou moeten zien
- De Oracle Javadoc style guide wordt gebruikt als gids voor de basis
@since
wordt gebruikt voor publieke klassen en methoden (zichtbaar voor de ontwikkelaars van invoegtoepassingen) met de revisie van JOSM waarin het element werd geïntroduceerd. Voorbeeld:@since 5408
@since
wordt bijgewerkt als een handtekening van een publieke methode wijzigt of indien een klasse een andere naam krijgt@since
kan worden weggelaten voor publieke methoden en velden die tegelijkertijd met de klasse worden geïntroduceerd, vooropgesteld dat zij niet zijn gewijzigd en de klasse juist is gedocumenteerd.
@throws
heeft de voorkeur boven@exception
- controleer uw wijzigingen vóór patch/commit door het genereren van javadoc:
ant javadoc
, blader door de uitvoerberichten; indien u vindt dat het uitvoeren van javadoc te lang duurt voor alle bestanden, voer het dan alleen uit op de gewijzigde bestanden:
svn diff --summarize | awk '{ print $2 }' | xargs javadoc -d javadoc # or git diff --name-only | xargs javadoc -d javadoc
Eclipse configureren
Internationalisatie
- zorg er voor dat
tr(...)
gebruikt voor alle gelokaliseerde tekenreeksenimport import static org.openstreetmap.josm.tools.I18n.tr; // gebruik tr(...) voor berichten van uitzonderingen // throw new Exception(tr("foutenbericht altijd in tr()")); // gebruik tr(...) voor labels, titel, teksten van helptips en soortgelijke // new JLabel(tr("Label altijd in tr()")); // etc.
- assembleer gelokaliseerde berichten NOOIT met
+
. Gebruik in plaats daarvan tijdelijke plaatsaanduidingen voor opmaak.
NIET
new JLabel(tr("Mijn label " + labelId));
MAAR
new JLabel(tr("Mijn label {0}",labelId));
Enige uitzondering:
+
kan worden gebruikt om lange regels van niet-variabele teksten af te breken.
- Bij het gebruiken van een apostrof, zijn de volgende regels van toepassing:
Voor alle
tr
is de apostrof speciaal. (Zoals de backslash in C)
Hij moet worden geëscaped door een andere apostrof:
new JButton(tr("Don''t press me more than {0} times!", n))
Terug naar Developers Guide
Note:
See TracWiki
for help on using the wiki.