Saya adalah bagian dari tim konsultan yang menerapkan solusi baru untuk pelanggan. Saya bertanggung jawab atas sebagian besar ulasan kode pada basis kode sisi klien (Bereaksi dan javascript).
Saya telah memperhatikan bahwa beberapa anggota tim menggunakan pola pengkodean yang unik sampai-sampai saya dapat memilih file secara acak untuk mengetahui siapa penulis dari style itu sendiri.
Contoh 1 (fungsi inline satu kali)
React.createClass({
render: function () {
var someFunc = function () {
...
return someValue;
};
return <div>{someFunc()}</div>
}
});
Penulis berpendapat bahwa dengan menetapkan nama yang bermakna untuk someFunc kode akan lebih mudah dibaca. Saya percaya bahwa dengan menyelaraskan fungsi dan menambahkan komentar, efek yang sama dapat dicapai.
Contoh 2 (fungsi tidak terikat)
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>;
}
});
Inilah yang biasanya kita lakukan (menghindari keharusan untuk lulus dan alat peraga):
React.createClass({
renderSomePart: function () {
return (
<div>
<p>{this.props.myProp}</p>
<p>{this.state.myState}</p>
</div>
);
},
render: function () {
return <div>{this.renderSomePart()}</div>;
}
});
Walaupun pola pengkodean ini benar secara teknis, mereka tidak konsisten dengan bagian basis kode lainnya atau dengan gaya dan pola yang diisyaratkan Facebook (penulis React) dalam tutorial dan contoh.
Kami harus menjaga kecepatan agar bisa tepat waktu dan saya tidak ingin membebani tim secara tidak perlu. Pada saat yang sama kita harus berada pada tingkat kualitas yang masuk akal.
Saya mencoba membayangkan diri saya sebagai pengembang pemeliharaan pelanggan dihadapkan dengan ketidakkonsistenan seperti ini (setiap komponen mungkin mengharuskan Anda untuk memahami cara lain untuk melakukan hal yang sama).
Pertanyaan:
Apa nilai yang dirasakan oleh pelanggan dan pengembang pemeliharaan basis kode yang konsisten vs. memungkinkan inkonsistensi seperti ini tetap ada dan berpotensi menyebar?