Seberapa umum hal ini dalam industri perangkat lunak?
Sangat umum. Tentang kesamaan yang sama seperti memiliki tukang ledeng menghancurkan pipa ledeng Anda, tukang kayu yang memberikan sampah, atau penjahit murah yang membuat setelan jas yang tidak pas. Yaitu, itu semua manusia.
Ada alasan bagus mengapa ini terjadi: orang yang tidak benar-benar terlatih (atau tidak antusias) harus mengimplementasikan sesuatu di bawah tekanan.
Ini bukan masalah orang-orang itu, terutama, tetapi biasanya dari struktur seputar pengembangan perangkat lunak di perusahaan itu. Sebagai contoh, sebuah perusahaan mungkin memiliki sekelompok pekerja magang mengembangkan perangkat lunak internal mereka; bahkan jika pekerja magang itu cerdas dan berpengetahuan luas, mereka hanya akan berada di sana selama beberapa minggu atau bulan, dan kepemilikan akan sering berubah.
Atau beberapa orang yang hebat dalam domain, tetapi bukan seorang programmer, mungkin meretas bersama beberapa aplikasi VBA dll karena tampaknya cukup mudah di awal.
Atau aplikasi yang dibuat dengan baik berakhir pada fase pemeliharaan, semua pengembang yang baik melanjutkan, dan kemudian terus dikembangkan oleh beberapa orang (kasus terburuk: satu) yang tahu sedikit tentang hal itu, yang tidak memiliki dokumentasi, dll.
Bagaimana saya bisa memastikan bahwa saya tetap di atas OOP dan prinsip-prinsip terkait? Saya berlatih di waktu luang dan saya merasa perlu bekerja di bawah pengembang yang lebih berpengalaman untuk menjadi lebih baik di OOP.
Ada dua kemungkinan jawaban:
- Baik: diskusikan ini dengan bos Anda dan pastikan Anda masuk ke proyek bersih. Jika tidak memungkinkan, cari bos baru.
- Atau: bertanggung jawab untuk ini sendiri. Itu berarti melakukannya sendiri - di waktu luang Anda, atau jika Anda bisa, di perusahaan, tetapi didorong oleh diri sendiri (tidak mungkin).
Jika jawaban kedua terdengar terlalu sinis untuk Anda, maka izinkan saya meyakinkan Anda bahwa jawabannya tidak. Seorang tukang kayu yang memiliki toko woodworking di rumah akan paling pasti menjadi tukang kayu yang lebih baik daripada orang yang tidak.
Sebagai contoh, sangat mungkin dan sangat menyenangkan bagi sebagian orang untuk, misalnya, menggali ke dalam bahasa baru seperti Ruby, belajar tidak hanya sintaksis, tetapi juga dalam aspek OO khusus dari bahasa itu, dan benar-benar menyelam dalam-dalam. Semua ada di waktu luang Anda, tanpa memiliki koneksi ke pekerjaan Anda. Itu hanya akan menjadi hobi, tetapi menjadi profesional terlatih seperti Anda, itu bisa sama efektifnya (atau lebih tepatnya) dengan duduk di sebelah pengembang utama dan mencoba mengikuti apa yang mereka lakukan. Ini kemudian akan semata-mata untuk pengembangan pribadi Anda dan kesenangan Anda sendiri. Jika Anda tidak bersenang-senang melakukan ini, atau jika Anda merasa tidak dapat mencapai pemahaman apa pun, goreskan itu, dan kembali ke jawaban pertama.
Bahwa pengembang memimpin yang melatih Anda telah cukup mungkin belajar hal-hal yang persis dengan cara ini ...