Я є частиною команди консультантів, яка впроваджує нове рішення для замовника. Я відповідальний за більшість оглядів коду на кодовій базі клієнтів (React та javascript).
Я помітив, що деякі члени команди використовують унікальні шаблони кодування для того, щоб я міг обрати файл випадковим чином, щоб сказати, хто був автором лише зі стилю.
Приклад 1 (разові вбудовані функції)
React.createClass({
render: function () {
var someFunc = function () {
...
return someValue;
};
return <div>{someFunc()}</div>
}
});
Автор стверджує, що, призначивши якесь значуще ім'я деякомуFunc, код буде легше читати. Я вважаю, що, включивши функцію та додавши коментар, замість цього можна досягти такого ж ефекту.
Приклад 2 (незв'язані функції)
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>;
}
});
Так ми зазвичай робимо це (уникає переходу стану та реквізиту):
React.createClass({
renderSomePart: function () {
return (
<div>
<p>{this.props.myProp}</p>
<p>{this.state.myState}</p>
</div>
);
},
render: function () {
return <div>{this.renderSomePart()}</div>;
}
});
Хоча ці моделі кодування технічно правильні, вони не відповідають решті кодової бази, а також стилю та моделей, на які натякає Facebook (автор React) у навчальних посібниках та прикладах.
Нам потрібно тримати швидкий темп, щоб вчасно вносити свої позиції, і я не хочу надто обтяжувати команду. При цьому нам потрібно бути на розумному рівні якості.
Я намагаюся уявити себе як розробника з обслуговування клієнтів, який стикається з такими невідповідностями (кожен компонент може вимагати від вас розуміння іншого способу зробити те саме).
Питання:
Яке значення сприймає замовник та його розробники технічної підтримки постійної бази кодів, дозволяючи таким чином невідповідностей залишатися та потенційно поширюватися?