고객을위한 새로운 솔루션을 구현하는 컨설턴트 팀의 일원입니다. 나는 클라이언트 측 코드베이스 (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 작성자)이 자습서 및 예제에서 암시하는 스타일 및 패턴과 일치하지 않습니다.
우리는 정시에 인도하기 위해 빠른 속도를 유지해야하며 불필요하게 팀에 부담을주고 싶지 않습니다. 동시에 우리는 합리적인 품질 수준에 있어야합니다.
고객 유지 관리 개발자가 이와 같은 불일치에 직면했다고 생각하려고합니다 (모든 구성 요소 는 동일한 작업을 수행하는 다른 방법을 이해해야 할 수도 있습니다 ).
질문:
고객과 유지 보수 개발자가 일관된 코드베이스를 인식하고 이와 같은 불일치를 유지하고 잠재적으로 확산시킬 수있는 가치는 무엇입니까?