“Kodenya berfungsi. Jangan menyentuhnya.”

May 07 2023
Menghancurkan produksi itu mudah!
Ada pepatah lama dalam pengembangan perangkat lunak. Saya sudah mendengarnya berkali-kali dalam karir saya… Jika tidak rusak, jangan perbaiki.

Ada pepatah lama dalam pengembangan perangkat lunak. Saya telah mendengarnya berkali-kali dalam karir saya…

Jika tidak rusak, jangan perbaiki.

Anda dapat mengalami masalah saat mengoptimalkan kode lama.

Tetapi Anda juga harus membersihkan kode lama saat Anda bisa!

Bagaimana Anda memutuskan - tinggalkan atau perbaiki?

Kode saya hanya bekerja

Ada GIF lucu yang beredar di Reddit sekarang..

Ini menggarisbawahi fakta bahwa kita sering mengetahui bahwa kode kita tidak sesuai dengan domain!

Seiring waktu, kami yakin kode tersebut akan disalahgunakan atau diperluas dengan cara yang aneh.

Bahkan pada saat Anda menulis kode, ini mungkin bukan solusi terbaik.

Apa yang harus dilakukan?

Menimbang pilihan Anda

Apakah itu kode yang baru saja Anda tulis atau kode lama yang memerlukan pemfaktoran ulang — bagaimana Anda memutuskan apa yang harus dilakukan?

  • Di satu sisi, kodenya berfungsi! Perangkat lunak tangkas mengatakan bahwa cukup baik sudah cukup . Anda harus menghabiskan waktu Anda untuk lebih banyak kegiatan yang menghasilkan nilai.
  • Di sisi lain, meninggalkan kode yang berantakan, membingungkan, atau dirancang dengan buruk untuk orang lain tidaklah menyenangkan! Plus, ketika kode dasar dirancang dengan baik, perubahan & ekstensi di masa mendatang jauh lebih mudah.

Pengembangan perangkat lunak adalah tentang pengorbanan. Anda akan terus membuat penilaian. Apakah akan melakukan refactor adalah salah satu panggilan itu.

Tidak semudah kelihatannya

Anda akan sering menemukan bahwa kode dasar rumit karena suatu alasan.

Pada awalnya, sepertinya ada cara yang jauh lebih baik. Tetapi saat Anda menyelami refactor, Anda menemukan bahwa ada kasus tepi yang tidak Anda pertimbangkan. Kode inti ini digunakan lebih dari yang Anda perkirakan.

Biasanya, pembersihan sederhana pada bagian dasar kode terurai. Dibutuhkan upaya berhari-hari atau berminggu-minggu untuk menindaklanjuti semua bagian.

Saat ingin memperbaiki kode dasar, penting bagi Anda untuk memahami ruang lingkupnya. Seberapa besar perubahan ini? Berapa banyak bagian dari sistem yang akan terpengaruh? Berapa lama saya bisa mengharapkan refactor untuk mengambil?

Saya akan mengatakan selalu menganggap itu akan memakan waktu dua kali lebih lama dari yang Anda pikirkan.

Kemudian, Anda harus bertanya, “Apakah itu sepadan?”

Pertanyaan untuk dipertimbangkan

Berikut adalah beberapa hal yang perlu dipikirkan sebelum Anda melakukan refactor besar:

  • Apakah kode ini mendasar untuk aplikasi & karena itu membuat keseluruhan sistem lebih dapat dipelihara?
  • Akankah refactor secara teratur membantu pengembang masa depan atau kode ini jarang disentuh?
  • Jika refactor memakan waktu dua kali lebih lama dari yang diharapkan, apakah masih layak?
  • Apakah ada upaya yang lebih kecil yang dapat saya lakukan terlebih dahulu untuk mendapatkan sebagian manfaat dari refactor penuh, sebagai cara untuk menguji seberapa sulit perubahan itu?
  • Jika saya menghabiskan waktu untuk refactor ini, ada biaya peluang untuk fitur lain, peningkatan, dan perbaikan bug yang dapat saya kerjakan. Apakah refactor ini cukup penting untuk menjamin itu?

Tapi saya juga pernah berada di tim di mana upaya refactor nakal telah menyedot waktu, energi, dan perhatian pengembang kami. Semua untuk tidak banyak keuntungan.

Jadi, pikirkan dua kali & lakukan upaya refactor Anda dengan pikiran jernih. Tim Anda akan berterima kasih.

Daftar harian

Saya membantu pengembang perangkat lunak membangun karier yang bermakna dengan tujuan.

Tidak seperti yang lain — yang merekomendasikan mengejar gaji besar, pekerjaan di perusahaan elit (FAANG), atau mempersiapkan persiapan wawancara — saya membimbing pengembang menuju karir perangkat lunak yang memuaskan dan seimbang.

Tujuan saya adalah membantu Anda mengerjakan perangkat lunak yang membuat dunia menjadi tempat yang lebih baik.

2.000 pengembang perangkat lunak lainnya mendapatkan kiriman harian saya, langsung ke kotak masuk mereka.

Bergabunglah dengan daftar harian dan dapatkan akses instan ke konten terbaik saya!

Bergabunglah dengan Medium seharga $5 — Akses semua Medium + dukung saya & lainnya!