Je fais partie d'une équipe de consultants qui met en œuvre une nouvelle solution pour un client. Je suis responsable de la majorité des critiques de code sur la base de code côté client (React et javascript).
J'ai remarqué que certains membres de l'équipe utilisaient des modèles de codage uniques, à un point tel que je pouvais choisir un fichier au hasard en disant qui était l'auteur du style seul.
Exemple 1 (fonctions en ligne uniques)
React.createClass({
render: function () {
var someFunc = function () {
...
return someValue;
};
return <div>{someFunc()}</div>
}
});
L'auteur affirme qu'en attribuant un nom significatif à someFunc, le code sera plus facile à lire. Je crois qu'en ajoutant la fonction et en ajoutant un commentaire, le même effet pourrait être obtenu.
Exemple 2 (fonctions non liées)
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>;
}
});
Voici comment nous procédons habituellement (en évitant de passer des états et des accessoires):
React.createClass({
renderSomePart: function () {
return (
<div>
<p>{this.props.myProp}</p>
<p>{this.state.myState}</p>
</div>
);
},
render: function () {
return <div>{this.renderSomePart()}</div>;
}
});
Bien que ces modèles de codage soient techniquement corrects, ils ne sont pas compatibles avec le reste de la base de code ni avec le style et les modèles auxquels Facebook (l'auteur de React) fait allusion dans des tutoriels et des exemples.
Nous devons garder un rythme rapide pour pouvoir respecter les délais et je ne veux pas alourdir inutilement l'équipe. Dans le même temps, nous devons avoir un niveau de qualité raisonnable.
J'essaie de m'imaginer en tant que développeur de la maintenance client confronté à de telles incohérences (chaque composant peut nécessiter que vous compreniez une autre façon de faire la même chose).
Question:
Quelle est la valeur, telle que perçue par le client et ses développeurs de maintenance, d’une base de code cohérente par rapport à de telles incohérences comme celles-ci peuvent rester et s’étendre?