Faccio parte di un team di consulenti che implementa una nuova soluzione per un cliente. Sono responsabile della maggior parte delle revisioni del codice sul codebase lato client (React e javascript).
Ho notato che alcuni membri del team usano schemi di codifica univoci al punto che potrei scegliere un file a caso per dire chi era l'autore dal solo stile.
Esempio 1 (funzioni inline una tantum)
React.createClass({
render: function () {
var someFunc = function () {
...
return someValue;
};
return <div>{someFunc()}</div>
}
});
L'autore sostiene che assegnando un nome significativo a someFunc il codice sarà più facile da leggere. Credo che integrando la funzione e aggiungendo un commento si possa ottenere lo stesso effetto.
Esempio 2 (funzioni non associate)
function renderSomePart(props, state) {
return (
<div>
<p>{props.myProp}</p>
<p>{state.myState}</p>
</div>
);
}
React.createClass({
render: function () {
return <div>{renderSomePart(this.props, this.state)}</div>;
}
});
Questo è il modo in cui lo facciamo di solito (evita il passaggio di stato e oggetti di scena):
React.createClass({
renderSomePart: function () {
return (
<div>
<p>{this.props.myProp}</p>
<p>{this.state.myState}</p>
</div>
);
},
render: function () {
return <div>{this.renderSomePart()}</div>;
}
});
Sebbene questi schemi di codifica siano tecnicamente corretti, non sono coerenti con il resto della base di codici né con lo stile e gli schemi che Facebook (l'autore di React) suggerisce nei tutorial e negli esempi.
Dobbiamo tenere un ritmo veloce per consegnare in tempo e non voglio caricare inutilmente la squadra. Allo stesso tempo, dobbiamo avere un livello di qualità ragionevole.
Sto cercando di immaginarmi come lo sviluppatore della manutenzione dei clienti di fronte a incongruenze come queste (ogni componente potrebbe richiedere che tu comprenda un altro modo di fare la stessa cosa).
Domanda:
Qual è il valore percepito dal cliente e dai suoi sviluppatori di manutenzione di una base di codice coerente rispetto a consentire a incongruenze come queste di rimanere e potenzialmente diffondersi?