我是顾问团队的成员,该团队为客户实施新的解决方案。我负责客户端代码库(React和javascript)上的大多数代码审查。
我注意到一些团队成员使用独特的编码模式,以至于我可以从一个样式中随机选择一个文件,以告诉谁是作者。
示例1(一次性内联函数)
React.createClass({
render: function () {
var someFunc = function () {
...
return someValue;
};
return <div>{someFunc()}</div>
}
});
作者认为,通过为someFunc分配有意义的名称,代码将更易于阅读。我相信,通过内联函数并添加注释,可以达到相同的效果。
示例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的作者)在教程和示例中暗示的样式和模式都不一致。
我们需要保持快速的步调,以便按时交货,而且我不想给团队带来不必要的负担。同时,我们需要处于合理的质量水平。
我试图将自己想象成客户的维护开发人员,面对这样的不一致问题(每个组件都可能需要您了解另一种做同一件事的方式)。
题:
客户及其维护开发人员认为,一致的代码基础与允许像这样的不一致之处得以保留并可能蔓延的价值是什么?