Bir müşteri için yeni bir çözüm uygulayan danışman ekibin bir parçasıyım. Müşteri tarafı kod temeli (React and javascript) kod incelemelerinin çoğundan sorumluyum.
Bazı ekip üyelerinin, sadece stilden kimin yazdığını söylerken rastgele bir dosya seçebileceğim bir noktaya kadar benzersiz kodlama kalıpları kullandıklarını fark ettim.
Örnek 1 (bir defalık satır içi işlevler)
React.createClass({
render: function () {
var someFunc = function () {
...
return someValue;
};
return <div>{someFunc()}</div>
}
});
Yazar, someFunc'a anlamlı bir isim atayarak, kodun okunmasının daha kolay olacağını savunuyor. Fonksiyonu çizerek ve yorum ekleyerek bunun yerine aynı etkinin elde edilebileceğine inanıyorum.
Örnek 2 (sınırsız işlevler)
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>;
}
});
Genelde yaptığımız şey budur (devleti geçip sahne almak zorunda kalmaktan kaçınır):
React.createClass({
renderSomePart: function () {
return (
<div>
<p>{this.props.myProp}</p>
<p>{this.state.myState}</p>
</div>
);
},
render: function () {
return <div>{this.renderSomePart()}</div>;
}
});
Bu kodlama kalıpları teknik olarak doğru olsa da, kod tabanının geri kalanıyla veya Facebook'un (React'in yazarı) öğreticiler ve örneklerde bahsettiği stil ve kalıplarla tutarlı değillerdir.
Zamanında teslim etmek için hızlı bir adım tutmamız gerekiyor ve takımı gereksiz yere sıkmak istemiyorum. Aynı zamanda makul bir kalite seviyesinde olmalıyız.
Ben bunlar gibi tutarsızlıklar (her bileşen ile karşı karşıya müşterilerin bakım geliştirici olarak kendimi hayal çalışıyorum olabilir aynı şeyi yapmanın başka bir yolunu anlamak gerektirir).
Soru:
Tutarlı bir kod tabanının müşteri ve bakım geliştiricileri tarafından algılanması ve bunun gibi tutarsızlıkların devam etmesine ve potansiyel olarak yayılmasına izin vermenin değeri nedir?