Changes between Version 14 and Version 15 of Nl:DevelopersGuide/StyleGuide
- Timestamp:
- 2022-08-12T17:22:08+02:00 (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Nl:DevelopersGuide/StyleGuide
v14 v15 1 [[TranslatedPages(revision=3 6)]]1 [[TranslatedPages(revision=37)]] 2 2 = Richtlijnen voor ontwikkelen = 3 3 [[PageOutline(2-2,Inhoud,inline)]] … … 6 6 7 7 * zorg er voor dat de code compatibel is met Java 8 8 * '''Documenteer'''uw code met behulp van commentaar op de regel en javadoc. Vele mensen zullen u daarvoor danken :)8 * **Documenteer** uw code met behulp van commentaar op de regel en javadoc. Vele mensen zullen u daarvoor danken :) 9 9 * Probeer publieke velden te vermijden 10 10 * JOSM heeft heel veel hulpmethoden in de klassen `Utils`, `GuiUtils`, `Geometry` .... Gebruik ze als u ze nodig hebt. … … 25 25 * gebruik niet meerdere lege regels achter elkaar 26 26 * JOSM gebruikt 4 tekens voor inspringen en geen tabstops (Als u Notepad++ gebruikt kunt u de standaard inspringing wijzigen in de "Instellingen" -> "Voorkeuren" -> "Language" -> "Tab settings" -> 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).) 27 * voeg gekrulde haken toe voor elke {{{if}}}, tenzij die wordt gevolgd door een{{{return}}}(of misschien een{{{throw}}})28 * U zou '''checkstyle'''moeten gebruiken vóór patch/commit: `ant checkstyle` en controleer `checkstyle-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:27 * voeg gekrulde haken toe voor elke `if`, tenzij die wordt gevolgd door een `return` (of misschien een `throw`) 28 * U zou **checkstyle** moeten gebruiken vóór patch/commit: `ant checkstyle` en controleer `checkstyle-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: 29 29 30 30 {{{ … … 43 43 == Hoe uw javadoc er uit zou moeten zien == 44 44 * De [https://www.oracle.com/technetwork/java/javase/documentation/index-137868.html#styleguide Oracle Javadoc style guide] wordt gebruikt als gids voor de basis 45 * {{{@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}}}46 * {{{@since}}}wordt bijgewerkt / toegevoegd als een handtekening van een publieke methode wijzigt of indien een klasse een andere naam krijgt47 * {{{@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.48 * Er kunnen meerdere tags {{{@since}}}zijn, bijv. voor het toevoegen van interfaces aan een klasse. De reden voor deze tags zou moeten worden toegevoegd. Voorbeeld:{{{@since 12345 @FunctionalIterface werd toegevoegd}}}49 * Indien u een patch indient en u weet de revisie niet, voeg dan toch {{{@since xxx}}}toe. Het kan dan worden vervangen bij het samenvoegen van uw patch.50 * {{{@throws}}}heeft de voorkeur boven{{{@exception}}}45 * `@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` 46 * `@since` wordt bijgewerkt / toegevoegd als een handtekening van een publieke methode wijzigt of indien een klasse een andere naam krijgt 47 * `@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. 48 * Er kunnen meerdere tags `@since` zijn, bijv. voor het toevoegen van interfaces aan een klasse. De reden voor deze tags zou moeten worden toegevoegd. Voorbeeld: `@since 12345 @FunctionalIterface werd toegevoegd` 49 * Indien u een patch indient en u weet de revisie niet, voeg dan toch `@since xxx` toe. Het kan dan worden vervangen bij het samenvoegen van uw patch. 50 * `@throws` heeft de voorkeur boven `@exception` 51 51 * 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: 52 52 … … 69 69 == Internationalisatie == 70 70 71 * zorg er voor dat {{{tr(...)}}}gebruikt voor alle gelokaliseerde tekenreeksen71 * zorg er voor dat `tr(...)` gebruikt wordt voor alle gelokaliseerde tekenreeksen 72 72 {{{ 73 73 #!java … … 85 85 }}} 86 86 87 * assembleer gelokaliseerde berichten NOOIT met {{{+}}}. Gebruik in plaats87 * assembleer gelokaliseerde berichten NOOIT met `+`. Gebruik in plaats 88 88 daarvan tijdelijke plaatsaanduidingen voor opmaak. 89 89 90 90 '''NIET''' 91 {{{new JLabel(tr("Mijn label " + labelId));}}}91 `new JLabel(tr("Mijn label " + labelId));` 92 92 93 93 '''MAAR''' 94 {{{new JLabel(tr("Mijn label {0}",labelId));}}}94 `new JLabel(tr("Mijn label {0}",labelId));` 95 95 96 Enige uitzondering: {{{+}}}kan worden gebruikt om lange regels van niet-variabele teksten af te breken.96 Enige uitzondering: `+` kan worden gebruikt om lange regels van niet-variabele teksten af te breken. 97 97 De plaatsvervangers zijn verplicht in eenvoudige vertalingen. 98 98 99 * Bij het gebruiken van een apostrof in de tekenreeks voor de bron, moet die zijn geëscape ddoor een andere apostrof (Zoals de backslash in C):[[BR]]99 * Bij het gebruiken van een apostrof in de tekenreeks voor de bron, moet die zijn geëscapet door een andere apostrof (Zoals de backslash in C):[[BR]] 100 100 {{{#!java 101 101 new JButton(tr("Don''t press me more than {0} times!", n)) 102 102 }}} 103 103 104 * Een context voor een vertaling kan direct worden ingesteld met {{{trc(...)}}}. Aanvullende hints voor vertalers worden gegeven in opmerkingen voor Java bij de functie:104 * Een context voor een vertaling kan direct worden ingesteld met `trc(...)`. Aanvullende hints voor vertalers worden gegeven in opmerkingen voor Java bij de functie: 105 105 {{{#!java 106 106 /* I18n: huisnummer, straat als parameter; plaats nummer eerst voor zichtbaarheid */ … … 108 108 }}} 109 109 110 * Gebruik {{{trn(...)}}}om vertalers de taalspecifieke meervoudsvorm te laten kiezen:110 * Gebruik `trn(...)` om vertalers de taalspecifieke meervoudsvorm te laten kiezen: 111 111 {{{#!java 112 112 msg = trn("Object deleted", "Objects deleted", del.size();