Walaupun saya bisa membuat kode, saya belum punya pengalaman dengan mengerjakan proyek-proyek besar. Apa yang saya lakukan sejauh ini adalah mengkode program kecil yang dikompilasi dalam hitungan detik (berbagai latihan c / c ++ seperti algoritma, prinsip pemrograman, ide, paradigma, atau hanya mencoba api ...) atau mengerjakan beberapa proyek kecil yang dibuat dalam bahasa skrip (python, php, js) di mana tidak diperlukan kompilasi.
Masalahnya adalah, ketika coding dalam bahasa scripting, setiap kali saya ingin mencoba jika sesuatu berfungsi - saya hanya menjalankan skrip dan melihat apa yang terjadi. Jika semuanya tidak berhasil, saya dapat dengan mudah mengubah kode dan mencobanya lagi dengan menjalankan skrip lagi dan terus melakukan itu sampai saya mendapatkan hasil yang saya inginkan .. Maksud saya adalah bahwa Anda tidak perlu menunggu apa saja untuk dikompilasi dan karena itu cukup mudah untuk mengambil basis kode besar, memodifikasinya, menambahkan sesuatu ke dalamnya, atau hanya bermain dengannya - Anda dapat melihat perubahannya secara instan.
Sebagai contoh saya akan mengambil Wordpress. Sangat mudah untuk mencoba dan mencari tahu cara membuat plugin untuk itu. Pertama Anda mulai dengan membuat plugin "Hello World" sederhana, kemudian Anda membuat antarmuka sederhana untuk panel admin untuk membiasakan diri dengan API, kemudian Anda membangunnya dan membuat sesuatu yang lebih kompleks, sementara itu mengubah tampilannya seperti beberapa. kali .. Gagasan harus mengkompilasi ulang sesuatu sebesar WP berulang-ulang, setelah setiap perubahan kecil untuk mencoba "jika berhasil" dan "bagaimana cara kerjanya / terasa" sepertinya tidak efisien, lambat dan salah.
Sekarang, bagaimana saya bisa melakukan itu dengan proyek yang ditulis dalam bahasa yang dikompilasi? Saya ingin berkontribusi pada beberapa proyek open-source dan pertanyaan ini terus menggangguku. Situasinya mungkin berbeda dari proyek ke proyek di mana beberapa dari mereka yang sebelumnya berpikir dengan bijak akan "modular" dalam beberapa cara sementara yang lain hanya akan menjadi satu gumpalan besar yang perlu dikompilasi ulang berulang kali.
Saya ingin tahu lebih banyak tentang bagaimana ini dilakukan dengan benar. Apa saja praktik umum, pendekatan dan desain proyek (pola?) Untuk mengatasinya? Bagaimana "modularitas" ini disebut di dunia programmer dan apa yang harus saya google untuk mempelajari lebih lanjut tentang ini? Apakah sering proyek tumbuh dari proporsi pemikiran pertama mereka yang menjadi masalah setelah beberapa saat? Apakah ada cara untuk menghindari kompilasi yang lama dari proyek yang tidak dirancang dengan baik? Suatu cara untuk memodulasi mereka (mungkin mengecualikan bagian-bagian program yang tidak penting sambil mengembangkan (ada ide lain?))
Terima kasih.