Saya cukup tertarik untuk mengkodekan kata dalam beberapa bulan terakhir. Saya yakin ini adalah cara yang bagus untuk mengasah keterampilan pemrograman saya dan meningkatkan kualitas kode yang saya tulis saat bekerja.
Ada banyak tempat di mana Katas dapat ditemukan. Suka..
http://schuchert.wikispaces.com/Katas
Saya telah menemukan ini sebagai repositori Katas yang sangat baik ... usaha saya pada beberapa di antaranya sangat bermanfaat.
Namun, saya merasa bahwa semua Kata yang saya lihat sejauh ini memiliki satu kekurangan. Tak satu pun dari mereka tampaknya mengizinkan saya untuk mempraktikkan refactoring kode buruk. Sangat menyenangkan mempelajari cara menulis kode yang bersih untuk pertama kalinya ... tetapi dalam pekerjaan saya saat ini, saya tidak memiliki banyak kesempatan untuk menulis kode baru. Sebaliknya saya sering berjuang melawan kode lama dan mencoba mencari cara bagaimana modul refactor, menghilangkan ketergantungan, dan mengurangi kopling.
Karena itu, saya sedang mencari beberapa Katas yang dapat saya gunakan untuk mengasah keterampilan saya dalam memfaktorkan ulang kode lama dan mengubahnya menjadi kode yang bersih.
Apakah ada yang tahu yang sudah ada? Saya tahu saya mendapatkan banyak latihan saat saya sedang bekerja ... tetapi saya ingin mengasah keterampilan saya ke titik di mana saya dapat dengan cepat melihat bagaimana memisahkan ketergantungan dan masalah terpisah di kelas yang melakukan terlalu banyak.
sumber
Jawaban:
Saya tidak tahu situs yang mengkatalogkannya secara langsung, tetapi satu strategi yang saya gunakan pada kesempatan ini adalah:
Ketika Anda menemukan bagian yang sangat menantang, buang pekerjaan Anda dan ulangi beberapa kali untuk memperkuat keterampilan Anda.
Ini tidak hanya melatih pemfaktoran ulang, tetapi keterampilan lain seperti membaca kode, menguji, dan menangani proses pembangunan.
Masalah tersulit adalah menemukan sebuah proyek yang Anda cukup tertarik untuk terus bekerja. Yang terakhir saya kerjakan adalah perpustakaan python untuk pemrograman genetik, dan yang saat ini saya kerjakan adalah perpustakaan IRC untuk Java.
sumber
Saya merasa seperti ahli nujum membalas utas lama seperti itu, tetapi ada satu hal yang akan membuat tambahan yang layak - Retret Kode Warisan .
Idenya adalah mengadakan Retret Kode dengan kode warisan dan mencoba mempraktikkan teknik-teknik untuk mengatasinya, tetapi saya tidak dapat melihat apa pun yang akan melarang Anda untuk hanya menggunakan kode yang disiapkan dan berlatih dengannya sendiri. Hanya menggunakannya untuk membuat Master Emas menghasilkan satu jam kerja, dan masih banyak lagi yang dapat Anda lakukan. Jika kata Anda biasanya bertahan sekitar 2 jam, saya akan mengatakan hanya dengan membagi apa yang biasanya terjadi di LCR menjadi kata memberi Anda empat hal berbeda untuk dikerjakan.
Ada gudang GitHub oleh penulis ide, JB Rainsberger, yang berisi sistem warisan sederhana yang akan Anda gunakan, Game Trivia.
Dari pengalaman saya sebagai penyelenggara / peserta, orang-orang sangat menyukai ini dan sangat mencerahkan untuk melihat apa yang bisa menjadi masalah dalam kode warisan dan di mana refactoring Anda dapat menyesatkan Anda (dan bagaimana!). Inilah akun lain tentang bagaimana tampilannya, oleh Andreas Leidig .
sumber
Emily Bache memiliki repositori github dengan beberapa kata refactoring: Kata Repo Refactoring Emily Bache . Ada varian KataYahtzee dan KataTennis untuk refactor. Juga, dia memiliki varian dari Kata Mawar Emas, yang dirancang sebagai kata refactoring.
Juga, dia memiliki Racing Car Katas di reponya: Racing Car Kata . Race Car Katas juga mencakup latihan yang baik untuk refactoring.
Kata-kata tersebut memiliki kode dalam berbagai bahasa:
sumber