Prefazione: non sto discutendo contro le convenzioni, ma piuttosto voglio avere una maggiore comprensione del perché la convenzione è qualcosa che dovrei seguire e quali sono i vantaggi / gli svantaggi di farlo.
Ho trovato nel mio sviluppo che la convenzione è qualcosa che ritengo di dover cercare per qualsiasi tecnologia o piattaforma che sto sviluppando. Credo in questo al punto che cerco regolarmente quali convenzioni specifiche della piattaforma sono state definite. Tuttavia, non ho un ragionamento concettuale completamente valido per farlo. Quello che di solito cito quando viene chiesto è il fatto che se viene seguita una convenzione, fornisce una base più ampia di conoscenza da cui attingere e più pratiche standard che possono essere adottate nello sviluppo.
Sono convinto che con una sufficiente conoscenza del dominio e solidi principi di progettazione tra una squadra di sviluppo la convenzione possa essere abbandonata per una convenzione personalizzata finché un intero team si è impegnato a mantenere un nuovo standard. Tuttavia, tra i team che hanno una visione dello sviluppo approssimativamente centralizzata, è meglio fare affidamento su un principio convenzionale standardizzato.
Dovrei, in qualità di sviluppatore, cercare la convenzione come un modo per risolvere le decisioni di sviluppo o se avessi sviluppato un errore rispetto alle convenzioni che sarebbero diventate un ostacolo?