Refactoring tanpa banyak rasa sakit

Banyak pengembang di tim kami menghindari pemfaktoran ulang. Diskusi tentang situasi ini mengungkapkan alasan-alasan berikut.

Mengapa banyak yang tidak melakukan refactor

  • menakutkan untuk merusak fungsionalitas yang ada

  • memakan waktu: jika kode yang Anda refactor berubah, maka menggabungkannya (beberapa kali) dari cabang utama menjadi merepotkan

  • ada risiko tidak tepat waktu untuk tenggat waktu tugas

Pada saat yang sama, pemfaktoran ulang hampir merupakan bagian integral dari proses pengembangan. Kebutuhannya dikaitkan dengan prasyarat berikut:

  • persyaratan awal hampir tidak pernah lengkap dan pengembangan dilakukan sesuai dengan asumsi tertentu, beberapa di antaranya kemudian menjadi tidak benar atau tidak akurat

  • sering kali Anda perlu melakukan pengeditan cepat agar berfungsi saat ini juga, tanpa mempertimbangkan dukungan lebih lanjut

Ketika refactoring dijamin (diperlukan)

Saya melihat alasan berikut untuk mengubah struktur kode:

  1. kode duplikat

    Ada beberapa alasan untuk memiliki kode duplikat, lebih sering daripada tidak, Anda perlu membuangnya

  2. universalisasi

    Untuk membuat kode Anda lebih mudah dipahami dan untuk mengurangi masalah operasional, Anda sering dapat membuat abstraksi yang menggabungkan kode serupa. Penting untuk memiliki setidaknya 3 prototipe untuk abstraksi ini, jika tidak maka mungkin tidak akurat.

    , GooglePay. , ApplePay SamsungPay . VendorPay

  3. ,

  4. /

    , 50 500 ,

: , , .

  • , . , , , , . , () , .

?

, , :

  • (unit )

  • -

  • , -

feature- master' .

, , , . , , , . , , .

- (- + ) , , ( master'), - - .

, master rebase - master.

Pendekatan ini menimbulkan beberapa overhead, tetapi mengurangi kesulitan refactoring utama:

  • meninjau dan menggabungkan refactoring tidak terlalu menakutkan, karena pada dasarnya tidak membawa perubahan fungsional, atau perubahan fungsional ini terlihat jelas dalam permintaan tarik kecil

  • tidak perlu mendukung perubahan pengembang lain karena perubahan akan segera digabungkan ke cabang utama

  • jika tenggat waktu sudah ditentukan, Anda dapat berhenti melakukan pemfaktoran ulang setelah siklus dua hingga tiga hari berikutnya




All Articles