Saya hampir selalu memformat kode saya sebelum saya berkomitmen untuk memastikan itu dilakukan dengan benar. Sebagian besar tim saya tidak begitu peduli dan tidak selalu memformat kode mereka dengan benar (hal-hal kecil yang tidak memengaruhi kode tetapi memengaruhi keterbacaan saat mencoba mempertahankannya).
Saya baru-baru ini menginstal alat-alat listrik VS yang memiliki opsi "Format pada save", dan membuat perubahan pada file yang tidak diformat sebelumnya. VP pengembangan baru saja datang kepada saya dan menegur saya karena memformat karena muncul di alat penggabungan karena hampir seluruh file diubah, alih-alih hanya satu atau dua baris (jadi dia tidak bisa melihat dengan tepat apa yang saya modifikasi dengan mudah), dan mengatakan kepada saya untuk menonaktifkan format simpan di masa mendatang. Meskipun saya memahami kekhawatiran itu, kadang-kadang saya merasa kesulitan untuk memilah-milah kode yang tidak diformat, dan IMO itu harus diformat dengan benar sepanjang waktu. Perhatikan bahwa saya tidak hanya memformat ulang hal-hal sambil lalu, tetapi ketika saya menulis kode saya akan menggunakan alat listrik atau menekan tombol perintah untuk memformat teks agar lebih mudah dibaca, dan dalam SVN ini muncul sebagai sebuah modifikasi.
Jadi saya bertanya, apakah selalu memformat kode sebenarnya adalah hal yang buruk? Apakah kekhawatirannya lebih valid daripada memastikan kode dapat dibaca?
sumber
Jawaban:
Pertama, tim Anda perlu memilih konvensi pemformatan dan mematuhinya. Anda harus mencapai kesepakatan dan meminta semua orang untuk menaatinya sehingga Anda tidak memiliki orang yang mempermasalahkan seperti apa jadinya. Ini seharusnya tidak hanya menjadi sesuatu yang Anda lakukan sendiri.
Adapun pertanyaan Anda yang sebenarnya. Memformat kode bukanlah hal yang buruk. Apa yang buruk adalah membuat perubahan pemformatan besar dalam komit yang sama dengan perubahan kode. Ketika tim Anda mencapai konsensus tentang bagaimana hal-hal harus diformat, buat satu pass melalui kode dan format semuanya. Periksa dengan sendirinya. Pesan komit akan memperjelas bahwa perubahan itu hanya ruang putih dan tidak berfungsi. Kemudian ketika Anda perlu membuat perubahan fungsional, mereka berada dalam komit yang berbeda sehingga mereka dapat terlihat dengan jelas.
sumber
Tidak, memformat kode sangat penting . Namun, komitmen harus dilakukan dalam dua kelompok:
Gunakan pesan komit untuk menandakan bahwa hanya kosmetik yang telah diubah. Ini dapat dengan mudah dilewati saat mencari modifikasi yang lebih substansial.
sumber
Anda berdua benar, tetapi Anda berdua bisa mendapatkan apa yang Anda inginkan. Format kode terlebih dahulu, periksa perubahan itu saja. Selanjutnya, buat perubahan fungsional Anda dan periksa itu sebagai langkah kedua.
sumber
Saya juga pemformat nit, jadi di sini beberapa kiat:
Langkah pertama yang diperlukan: minta tim untuk menyetujui beberapa standar format dasar, seperti tab vs spasi, posisi brace, gaya komentar, dll. Sekarang perubahan format Anda tidak akan mengejutkan semua orang, dan Anda tidak akan melangkah pada setiap jari kaki.
Bersihkan pemformatan hanya di sekitar kode yang Anda ubah. Jika Anda melakukan perubahan hanya pada satu fungsi, maka bersihkan fungsi itu. Setidaknya seiring waktu Anda akan memiliki kode yang lebih tampan.
Lakukan overhaul pemformatan besar sebagai komit terpisah, tanpa perubahan kode lainnya. Anda hanya harus melakukan ini ketika Anda cenderung tidak ingin membandingkan kode setelah perubahan sebelum perubahan, karena membandingkan di seluruh diff seperti itu bisa mengganggu. Saya biasanya melakukan pembersihan sebagai hal pertama sebelum pengembangan besar pada kode itu.
Dapatkan alat diff yang baik yang dapat melakukan penandaan bahasa terhadap perubahan signifikan dan perubahan tidak signifikan. Perbedaan favorit saya juga Beyond Compare menandai perubahan kode aktual dalam satu warna dan hanya perbedaan spasi / komentar pada warna lain.
edit untuk satu tip lagi:
sumber
Anda seharusnya tidak memformat ulang dan melakukan perubahan pada kode orang lain kecuali:
Anda akan melihat dalam semua kasus saya merujuk pada standar pengkodean tim. Saya sangat percaya pada standar pengkodean yang masuk akal dan disepakati untuk tim. Jika Anda memilikinya, maka pengembang asli harus kembali dan membersihkan kodenya untuk mematuhi standar tim, Anda tidak boleh melakukan itu di belakang mereka. Jika Anda tidak memiliki standar (dan Anda harus), maka Anda tidak boleh memodifikasi kode anggota tim lain untuk mematuhi filosofi Anda, terutama di belakang mereka. Ingat, Anda adalah bagian dari tim dan sementara standar pengkodean itu penting, begitu juga kepercayaan dan rasa hormat di antara anggota tim.
sumber