Ontwikkelingspraktijken
- Onderwerpen:
- Developing
Gemaakt voor:
- Developer
Werken volgens een definitie van Gereed
Elk team heeft een andere definitie van wat "gedaan"betekent, maar het is belangrijk om te hebben en ervoor te zorgen dat een verhaal aan de bepaalde criteria alvorens wordt goedgekeurd voldoet.
Sommige criteria die algemeen door teams worden gespecificeerd omvatten:
- Code voor opmaak gecontroleerd
- Opmerkingen/Javadoc toegevoegd
- Voldoet aan de vereiste dekkingsniveaus van de test
- Eenheids- en integratietests
- Gevalideerd in de milieu QA
- Lokalisatie geïmplementeerd
Zonder een welomschreven DoD is het gemakkelijk om in een situatie te belanden waarin veel dingen halverwege worden gedaan en niets echt compleet is.
Coderings- en opmaakconventies definiëren en naleven
Dingen als inspringingsniveaus en witruimte lijken misschien niet belangrijk, maar als de code juist is opgemaakt, gaat het veel verder in de richting van leesbaarheid en onderhoudsgemak. Conventies moeten als team worden besproken en overeengekomen en vervolgens in de code worden gevolgd.
Doel van hoge testdekking
Naarmate een projectimplementatie groter wordt, zal ook de tijd die nodig is om deze te testen, toenemen. Zonder goede testdekking, zal het testteam niet kunnen schrapen en de ontwikkelaars zullen uiteindelijk begraven in insecten worden.
Ontwikkelaars zouden TDD moeten gebruiken en ontbrekende eenheidstests vóór de productiecode schrijven die aan hun vereisten zal voldoen. QA zou een geautomatiseerde reeks goedkeuringstests moeten tot stand brengen om ervoor te zorgen dat het systeem zoals verwacht van een hoog niveau werkt.
Er zijn aangepaste frameworks beschikbaar, zoals Jackalope en Prosper, om het kopiëren van JCR API's eenvoudiger te maken om de productiviteit van ontwikkelaars te garanderen terwijl ze eenheidstests schrijven.
Demo gereed houden
Het systeem zou aan het eind van elke herhaling voor demo aan de zaken moeten beschikbaar zijn. Door het systeem in een demo-klaar staat te houden, zal het team altijd binnen een herhaling van klaar zijn voor productie en kan de technische schuld op een houdbaar niveau worden gehouden.
Een ononderbroken integratieomgeving implementeren en gebruiken
Het uitvoeren van een ononderbroken integratiemilieu zal u toestaan om eenheidstests en integratietests gemakkelijk en herhaalbaar in werking te stellen. Het zal ook plaatsingen van het ontwikkelingsteam loskoppelen, die de andere delen van het team om efficiënter en makend voor stabielere en voorspelbaardere plaatsingen toelaat te zijn.
Houd de ontwikkelingscyclus snel door de buildtijden laag te houden
Als de eenheidstests lang duren, zullen de ontwikkelaars vermijden lopend hen en zij zullen hun waarde verliezen. Als het lang duurt om de code te bouwen en op te stellen, zullen de mensen dit minder vaak doen. Het maken van korte bouwtijden een prioriteit verzekert dat de tijd wij in onze testdekking en infrastructuur van CI hebben geïnvesteerd het team productiever zal blijven maken.
Sonar en andere statische hulpmiddelen van de codeanalyse nauwkeurig afstemmen en op hun rapporten handelen
De instrumenten van de codeanalyse kunnen waardevol zijn, maar slechts als hun rapporten tot actie van de kant van het ontwikkelingsteam leiden. Zonder de analyse die deze instrumenten opleveren te verfijnen, zullen de aanbevelingen die ze genereren niet relevant zijn en zullen ze hun waarde verliezen.
Volg de Scout voor de jongen
De Scouten van de Jongen hebben een regel: "Laat het beter staan dan u het hebt gevonden." Zolang alle leden van het ontwikkelingsteam zich aan deze regel houden en iets opschonen wanneer ze een puinhoop tegenkomen, zal de code voortdurend verbeteren.
Gebruik geen YAGNI-functies
YAGNI-functies (of u hebt het niet nodig) worden geïmplementeerd wanneer we verwachten dat we in de toekomst iets nodig hebben, ook al hebben we het nu niet nodig. In het ideale geval moeten we het eenvoudigste ding implementeren dat vandaag werkt en ononderbroken refactoring gebruiken om ervoor te zorgen dat de architectuur van het systeem in de loop der tijd evolueert met de vereisten. Hierdoor kunnen we ons concentreren op wat belangrijk is en codeblok en eigenschapscrupules voorkomen.
Experience Manager
- Overzicht van de gebruikershandleiding voor ontwikkeling
- Inleiding voor ontwikkelaars
- Aan de slag met het ontwikkelen van AEM Sites - WKND-tutorial
- AEM kernconcepten
- Structuur van de interface voor AEM aanraakbediening
- Concepten van de interface AEM Touch-Enabled
- AEM ontwikkeling - Richtsnoeren en beste praktijken
- Client-Side bibliotheken gebruiken
- Developing and Page Diff
- Editor-beperkingen
- Het CSRF-beschermingskader
- Gegevensmodellering - David Nuescheler’s model
- Bijdragen aan AEM
- Beveiliging
- Referentiematerialen
- Een volledig aanbevolen website maken (klassieke gebruikersinterface)
- Ontwerpen en de Ontwerper (Klassieke UI)
- Platform
- Sling Cheatsheet
- Sling Adapters
- Tagbibliotheken
- Sjablonen
- Het gebruiken van de Verschuivende Fusie van het Middel in AEM
- Bedekkingen
- Naamgevingsconventies
- Een nieuwe graniet UI-veldcomponent maken
- Query Builder
- Tags
- Pagina’s aanpassen die worden weergegeven door de fouthandler
- Aangepaste knooppunttypen
- Lettertypen toevoegen voor grafisch renderen
- Verbinding maken met SQL-databases
- URL’s extern maken
- Banen voor offloaden maken en consumeren
- Cookie-gebruik configureren
- Programmatoegang tot het AEM JCR
- Services integreren met de JMX-console
- De Bulk-editor ontwikkelen
- Rapporten ontwikkelen
- eCommerce
- Onderdelen
- Kernonderdelen
- Stijlsysteem
- Overzicht van componenten
- Componenten AEM - De basisbeginselen
- AEM ontwikkelen
- Ontwikkelen AEM componenten - Codevoorbeelden
- JSON-exportfunctie voor services voor inhoud
- JSON-export inschakelen voor een component
- Afbeeldingseditor
- Decoratietag
- Voorwaarden verbergen gebruiken
- Meerdere lokale editors configureren
- Ontwerpmodus
- Uw gebruikersinterface testen
- Componenten voor inhoudsfragmenten
- Pagina-informatie ophalen in JSON-indeling
- Internationalisatie
- Klassieke UI-componenten
- Erviteitsbeheer zonder hoofd
- Hoofdloos en hybride met AEM
- JSON-export inschakelen voor een component
- Toepassingen voor één pagina
- SPA Inleiding en Analyse
- SPA WKND-zelfstudie
- Aan de slag met SPA in AEM - Reageren
- Aan de slag met SPA in AEM - Angular
- Een component React implementeren voor SPA
- SPA diep duiken
- Overzicht SPA Editor
- SPA ontwikkelen voor AEM
- SPA
- SPA
- Dynamisch model naar componenttoewijzing voor SPA
- SPA
- Integratie SPA en Adobe Experience Platform Launch
- SPA en rendering op de server
- Referentiematerialen SPA
- HTTP-API
- Contentfragmenten
- Ervaringsfragmenten
- Ontwikkelingsinstrumenten
- Ontwikkelingsinstrumenten
- AEM-moderniseringstools
- Dialoogvenster-editor
- Dialoogvenster omzetten
- Ontwikkelen met CRXDE Lite
- Pakketten beheren met Maven
- Hoe te om AEM Projecten te ontwikkelen gebruikend Eclipse
- Hoe te om AEM Projecten te bouwen gebruikend Apache Maven
- Hoe te om AEM Projecten te ontwikkelen gebruikend IntelliJ IDEA
- Het gereedschap VLT gebruiken
- Het gereedschap Proxyserver gebruiken
- Extensie AEM
- AEM Developer Tools for Eclipse
- AEM
- Personalisatie
- AEM uitbreiden
- Paginaontwerp aanpassen
- De consoles aanpassen
- Weergaven van pagina-eigenschappen aanpassen
- Pagina configureren voor Bulk bewerken van pagina-eigenschappen
- Contentfragmenten aanpassen en uitbreiden
- Werkstromen uitbreiden
- Het beheer van meerdere sites uitbreiden
- Tracering en analyse
- Cloud Services
- Aangepaste extensies maken
- Forms
- Services integreren met de JMX-console
- De Bulk-editor ontwikkelen
- Klassieke gebruikersinterface uitbreiden
- Testen
- Best practices voor
- Overzicht van best practices
- Richtlijnen voor AEM ontwikkeling en beste praktijken
- Aanbevolen werkwijzen voor ontwikkeling
- Inhoudsarchitectuur
- Softwarearchitectuur
- We.Retail Reference Implementation
- We.Retail Reference Implementation
- Inhoudsfragmenten in We.Retail uitproberen
- Core Components uitproberen in We.Retail
- Bewerkbare sjablonen uitproberen in We.Detailhandel
- Responsieve lay-out uitproberen in We.Detailhandel
- De geglobaliseerde sitestructuur in ‘We’ uitproberen.Handelsversie
- Uitproberen van ervaringsfragmenten in We.Retail
- Codetips
- Codevalkuilen
- OSGI-pakketten
- JCR-integratie
- Codevoorbeelden
- Problemen met trage query’s oplossen
- Mobiel web