Bagaimana saya bisa mempraktikkan pola desain dan refactoring dengan cara yang disengaja? [Tutup]


10

Saya membaca buku Refactoring untuk pola dan bertanya-tanya bagaimana saya bisa mendapatkan kesempatan untuk mempraktikkan keterampilan, karena tanpa latihan yang disengaja tentang cara-cara baru untuk memperbaiki dan menggunakan pola, keterampilan saya tidak akan meningkat.

Tetapi pekerjaan kantor mengharuskan saya menyelesaikan setiap tugas secepat mungkin. Sebagian besar waktu, desain dan arsitektur proyek tidak dikontrol oleh saya, saya hanya bisa mengikuti gaya yang sama dengan kode yang ada. Terkadang ada proyek dengan desain yang buruk, tetapi ada juga pengembang lain yang keahlian desainnya lebih baik dari saya dan dia sudah memiliki seluruh rencana untuk memperbaiki proyek tersebut, sehingga saya hanya mengikuti rencananya. Bagaimana saya mendapat kesempatan untuk berlatih?

Jawaban:


6

Sejujurnya Anda tidak bisa menunggu kesempatan untuk datang dengan mengetuk pintu Anda. Jika Anda sangat cenderung mempraktikkan keterampilan itu akan lebih bagus jika Anda bisa datang dengan desain Anda terlepas dari apa yang disebut pengembang dengan keterampilan yang lebih baik . Lemparkan saja ide-ide Anda dan adakan percakapan yang bagus tentang bagaimana ide saya akan membantu untuk desain yang buruk ini. Mungkin Anda akan gagal dalam beberapa upaya pertama tetapi Anda akan belajar banyak dan (juga melihat rekan pengembang yang lebih terampil juga akan memiliki sesuatu untuk dipelajari dari Anda).

Singkatnya, letakkan desain Anda juga di atas meja dan ketahui seberapa baik atau buruknya Anda tidak ada cara untuk mengukur kemampuan Anda.


3

Berlatih, berlatih, berlatih. Proyek hobi jelas merupakan ide yang bagus. Dan jika Anda ingin belajar, seringkali lebih baik bekerja pada proyek open source orang lain , dengan begitu Anda bisa belajar dari pola yang mereka gunakan.

Saya sarankan melihat ke dalam coding dojo dan kode katas . Seluruh ide di balik konsep ini adalah bahwa dengan berlatih pada masalah praktik yang dapat dikelola dengan baik, Anda akan lebih siap ketika masalah muncul dalam kode Anda sendiri. (Situs web menjelaskan ini lebih baik daripada saya, pasti memeriksanya.)

Poin sampingan: Satu hal penting yang tidak cukup pola adalah kebiasaan yang tepat ketika datang ke pengujian.

Juga, komentar terakhir: pekerjaan kantor mengharuskan Anda menyelesaikan setiap tugas secepat mungkin. Jika Anda bekerja terlalu cepat dan membuat banyak bug, Anda tidak menyelesaikan tugas , karena Anda harus kembali lagi nanti. Ini ulang. Jika Anda tidak mengambil waktu yang diperlukan untuk mempelajari cara yang tepat untuk melakukan sesuatu, Anda akan menciptakan lebih banyak pekerjaan untuk diri Anda sendiri dalam jangka pendek dan tidak mempelajari pola yang tepat untuk meningkatkan dalam jangka panjang. Sebaiknya bagi Anda dan majikan Anda bahwa Anda mempraktikkan pola desain yang tepat. (Yang mengatakan, pola desain sering bisa terlalu sering digunakan dan disalahgunakan oleh orang-orang yang mempraktekkannya secara berlebihan atau tanpa pemahaman latar belakang, tetapi itu adalah poin yang terpisah.)


Pengerjaan ulang adalah jenis subjek yang menarik .. 37signals.com/rework adalah buku yang layak tentang subjek tersebut.
carpeliam

1
Oh, satu komentar lagi, dan ini mengikuti pola orang lain. Gunakan orang-orang di kantor Anda sebagai sumber daya. Jika mereka memiliki rencana untuk memperbaiki sesuatu, mintalah mereka menjelaskan proses pemikiran mereka dan memaksa mereka untuk mengajari Anda. Jika kantor Anda tidak fokus pada pengembangan profesional pribadi Anda, maka ada masalah.
carpeliam

+1 untuk catatan saat tugas selesai.
Péter Török

1

Saya pikir Anda memiliki opsi berikut:

  • Pertimbangkan untuk berlatih pada waktu yang tidak bekerja - tetaplah bekerja dan bereksperimenlah dengan refactoring kode tanpa melakukan kode ke VCS. Untuk melakukan latihan yang disengaja Anda tidak perlu melakukan perubahan. Anda perlu mereproduksi prosedur sampai menjadi kebiasaan Anda.
  • Pertimbangkan untuk menguasai keterampilan komunikasi untuk berdiskusi dengan rekan kerja Anda tentang refactoring yang lebih tepat. Percakapan Penting sangat membantu untuk memahami mekanisme komunikasi.
  • Proyek hewan peliharaan - buat proyek hewan peliharaan dan latih keterampilan Anda. Itu tidak perlu sangat berguna. Tujuan Anda adalah melatih keterampilan pemrograman.
  • Pertimbangkan untuk mengusulkan layanan Anda dalam proyek sumber terbuka - ini lebih menguntungkan untuk praktik yang disengaja karena Anda bisa mendapatkan umpan balik
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.