Berapa banyak waktu yang harus saya dedikasikan untuk refactoring kode saya? [Tutup]


22

Saya tidak tahu apakah itu hanya dengan saya, tetapi ketika saya mulai refactoring beberapa kode saya membuang banyak waktu untuk melakukan itu dan itu tidak pernah berakhir.

Setiap kali saya membaca kode lagi, saya menemukan sesuatu yang dapat ditingkatkan, kode refactoring seperti otak saya menjadi loop yang tak terbatas dan akhir kondisional dicapai secara acak tanpa kepuasan.

Jadi, berapa banyak waktu yang harus saya dedikasikan untuk refactoring kode saya?


1
kemungkinan duplikat Kapan untuk refactor

Jawaban:


23

Jika Anda memperlakukan refactoring sebagai miliknya sendiri, bukan sebagai bagian dari proses pengembangan, maka itu bisa menjadi tidak pernah berakhir.

Jika Anda mengikuti pendekatan pengembangan yang digerakkan oleh uji coba red, green, refactor , maka Anda biasanya tidak perlu menghabiskan banyak waktu untuk refactoring karena dua alasan:

  1. Anda akan melakukan refactoring saat berjalan, jadi itu seharusnya tidak menjadi tugas yang sangat besar, hanya langkah kecil dalam siklus TDD.

  2. "Tekanan" internal untuk mendapatkan tes berikutnya tertulis akan menjaga upaya refactoring Anda ke tingkat yang masuk akal.

Jika Anda bekerja dengan kode lawas, maka ikuti "Aturan pramuka" Paman Bob. Kotak waktu Anda sendiri untuk periode waktu yang singkat (katakanlah, 30 menit) dan buat tujuan Anda untuk memeriksa kode dalam keadaan yang lebih bersih daripada sebelumnya. Setiap kali Anda harus menyentuh kode, Anda akan membiarkannya sedikit lebih baik. Seiring waktu, kode yang paling dimodifikasi akan menjadi yang paling mudah dibaca dan diperhitungkan dengan baik dalam basis kode Anda.


"Jika kamu memperlakukan refactoring sebagai miliknya sendiri, bukan sebagai bagian dari proses pengembangan, maka itu bisa menjadi tidak pernah berakhir" ... Otoh, "Tampaknya kesempurnaan tercapai, bukan ketika tidak ada lagi yang ditambahkan, tetapi ketika tidak ada lagi yang bisa diambil "- Antoine de Saint Exupéry ;-)
Mawg
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.