Ho trascorso molti anni a guidare e gestire team di sviluppo. Per natura, sono un po 'OCD in termini di codice e molto in bianco e nero. Ho imparato attraverso l'esperienza che scegliere le tue battaglie è una delle abilità più difficili da imparare come guida di una squadra. Sì, gli standard sono importanti. Sì, la leggibilità e la manutenibilità sono incredibilmente importanti. Sì, dovremmo tutti sforzarci di scrivere un codice uniforme e conforme agli standard. Gli sviluppatori sono esseri umani però ... non strumenti di generazione del codice. Abbiamo personalità, opinioni, ci annoiamo e vogliamo imparare cose nuove.
On code reviews at work I have been seeing code & patterns that I consider "clever" though not necessarily adding to the overall quality or maintainability of the code base.
OK ... quindi non aggiungono, ma fanno danno? Stiamo parlando solo di preferenze personali negli stili di codifica, o il codice è stato scritto completamente non necessario (ad esempio usando alberi di espressione e riflessi solo perché è divertente usare alberi di espressione e riflessioni)? Se è il primo, lascia andare. Parte del divertimento di essere uno sviluppatore sta arrivando con soluzioni creative ai problemi. Forse (e molti di noi non amano ammetterlo), a volte ci sentiamo intimiditi da approcci che non comprendiamo, e o non vogliamo chiedere o non avere l'energia aggiuntiva per imparare il nuovo approccio.
Ora, quando la creatività porta a codice non necessario e complessità completamente ingiustificabile, allora è assolutamente vocale e fai il tuo caso. Essere un giocatore di squadra è importante, ma lo è anche l'essere (e il ritenerne altri) responsabili. Le revisioni del codice riguardano la responsabilità tanto quanto la garanzia della qualità e l'apprendimento. Stai per calpestare le dita dei piedi, ma se pensi di avere una strong argomentazione sul perché lo sforzo (denaro) dovrebbe essere speso per riscrivere il codice di lavoro E un ego dovrebbe essere ferito nel processo E vuoi rischiare di schiacciare l'entusiasmo di qualcuno per il loro mestiere , quindi non dovresti evitare di metterlo sul tavolo. Se sei il capo della squadra, questo è il tuo lavoro. Sii consapevole dell'impatto e fallo. Se non sei un caposquadra e non hai l'autorità, allora mettilo in squadra per decidere.
Il modo migliore per instillare la responsabilità nella tua squadra è incoraggiare gli altri a renderti responsabile. Se mantieni la mente aperta e non chiudi le persone quando suggeriscono miglioramenti al tuo codice, potresti scoprire che sono più ricettivi ai tuoi suggerimenti.