Nell'ambito dello sviluppo di CloseOnion, recentemente ho avuto una serie di scelte di percorso tecnologico e mi sono reso conto che è il momento di parlare della cultura ingegneristica di OpenOnion.
·-- 26
Come garantire la qualità del codice? Come garantire consegne affidabili a lungo termine?
I valori di OpenOnion sono la semplicità e la ripetibilità.
Il codice deve essere semplice, la semplicità è un requisito di leggibilità e manutenibilità. Non dobbiamo farci impazzire con il codice.
La funzionalità del codice deve essere riutilizzabile e modularizzata.
Il riutilizzo è una garanzia di coerenza complessiva. È anche ciò che mantiene gli sviluppatori e gli utenti meno sorpresi. Per realizzare il riutilizzo, naturalmente si sceglie di fare dipendere i dettagli di implementazione dall'astrazione, non viceversa.
Naturalmente, ci sono molte altre cose importanti, come l'isolamento delle interfacce, i test automatizzati, l'integrazione continua, la refactoring tempestiva. Questi sono tutti garanzie per rendere il codice semplice e ripetibile. Se vuoi raggiungere la semplicità e la ripetibilità, gradualmente presterai attenzione a questi aspetti in futuro. Il loro scopo è rendere il codice semplice e ripetibile.
Spero che in futuro, durante lo sviluppo, tutti penseremo se questa parte di codice è abbastanza semplice, se può essere compresa a colpo d'occhio senza bisogno di spiegazioni o documentazione. Non usate troppi trucchi o zucchero sintattico, scrivete in modo che anche un idiota possa capire. Pensate se una funzione è troppo lunga e se dividerla in funzioni più piccole renderebbe il tutto più chiaro ed esplicito. Verificate se il file o la funzionalità attuale sono troppo accoppiati, se l'astrazione dipende dai dettagli e se questa parte sarà riutilizzabile in futuro.
Ogni sviluppatore dovrebbe porsi alcune domande durante la scrittura del codice:
- Il codice è abbastanza semplice? Può essere compreso a colpo d'occhio?
- Il codice è facile da mantenere? Modificare una parte influenzerà altre parti?
- Il codice è riutilizzabile? Può essere modularizzato e utilizzato altrove?
- Il codice è eccessivamente accoppiato? È stato implementato il principio della dipendenza degli astratti dai dettagli?
Continuando a porsi queste domande, possiamo garantire che il codice rimanga semplice, chiaro e mantenibile, realizzando così i nostri valori fondamentali: semplicità e ripetibilità.
Solo aderendo a questi principi potremo mantenere la competitività e fornire costantemente software di alta qualità in un ambiente in continua evoluzione tecnologica.