Dua sen saya untuk pertanyaan lama dan itu
Beberapa orang sudah menyebutkan, berlatih, dan refactoring. Saya percaya urutan yang tepat untuk belajar tentang pola adalah ini:
- Pelajari Test Driven Development (TDD)
- Pelajari refactoring
- Pelajari pola
Kebanyakan orang mengabaikan 1, banyak yang percaya mereka bisa melakukan 2, dan hampir semua orang langsung ke 3.
Bagi saya kunci untuk meningkatkan keterampilan perangkat lunak saya adalah belajar TDD. Mungkin butuh waktu lama untuk coding yang menyakitkan dan lambat, tetapi menulis tes Anda terlebih dahulu tentu membuat Anda banyak berpikir tentang kode Anda. Jika suatu kelas membutuhkan terlalu banyak ketel uap atau mudah patah, Anda mulai memperhatikan bau tidak sedap dengan cepat
Manfaat utama dari TDD adalah Anda kehilangan rasa takut refactoring kode Anda dan memaksa Anda untuk menulis kelas yang sangat independen dan kohesif. Tanpa serangkaian tes yang baik, terlalu menyakitkan untuk menyentuh sesuatu yang tidak rusak. Dengan jaring pengaman Anda akan benar-benar berpetualang menjadi perubahan drastis pada kode Anda. Itulah saat ketika Anda benar-benar dapat mulai belajar dari latihan.
Sekarang sampai pada titik di mana Anda harus membaca buku tentang pola, dan menurut pendapat saya, itu adalah buang-buang waktu untuk berusaha terlalu keras. Saya hanya mengerti pola dengan sangat baik setelah memperhatikan saya melakukan sesuatu yang serupa, atau saya bisa menerapkannya pada kode yang ada. Tanpa tes keamanan, atau kebiasaan refactoring, saya akan menunggu sampai proyek baru. Masalah menggunakan pola dalam proyek baru adalah bahwa Anda tidak melihat dampaknya atau mengubah kode kerja. Saya hanya mengerti pola perangkat lunak begitu saya refactored kode saya ke salah satu dari mereka, tidak pernah ketika saya memperkenalkan satu yang baru dalam kode saya.