Kod yazabilsem de, büyük projelerde çalışma konusunda henüz deneyimim yok. Şimdiye kadar yaptığım şey saniyeler içinde derlenen küçük programları kodlamaktı (algoritmalar, programlama prensipleri, fikirler, paradigmalar gibi çeşitli c / c ++ alıştırmaları ya da sadece api'yi denemek ...) ya da derleme gerektirmeyen bir betik dil (ler) i (python, php, js) yapılmıştır.
Mesele şu ki, bir betik dilinde kodlama yaparken, bir şey işe yarayıp yaramadığını denemek istediğimde - sadece betiği çalıştırıyorum ve ne olduğunu görüyorum. İşler işe yaramazsa, kodu değiştirebilir ve komut dosyasını tekrar çalıştırarak tekrar deneyebilir ve istediğim sonucu elde edene kadar bunu yapmaya devam edebilirim ... Demek istediğim, beklemek zorunda değilsiniz derlemek için herhangi bir şey ve bu nedenle büyük bir kod tabanı almak, değiştirmek, bir şey eklemek veya sadece onunla oynamak oldukça kolaydır - değişiklikleri anında görebilirsiniz.
Örnek olarak Wordpress'i alacağım. Bunun için bir eklenti nasıl oluşturulacağını denemek ve anlamak oldukça kolaydır. İlk önce basit bir "Merhaba Dünya" eklentisi oluşturarak başlıyorsunuz, daha sonra yönetici paneli için API'yı tanımak için basit bir arayüz oluşturuyorsunuz, daha sonra onu oluşturuyor ve daha karmaşık bir şey yapıyorsunuz, bu arada birkaç Her küçük değişiklikten sonra "çalışıyorsa" ve "nasıl çalışır / hissedilir" denemek için WP kadar büyük bir şeyi tekrar tekrar derleme zorunluluğu sadece verimsiz, yavaş ve yanlış görünüyor.
Şimdi, bunu derlenmiş bir dilde yazılmış bir projeyle nasıl yapabilirim? Bazı açık kaynaklı projelere katkıda bulunmak istiyorum ve bu soru beni rahatsız ediyor. Durum muhtemelen projeden projeye farklılık gösterir, bazılarının önceden akıllıca düşünülen bir şekilde "modüler" olacağı, bazıları ise tekrar tekrar derlenmesi gereken büyük bir damla olacaktır.
Bunun nasıl düzgün yapıldığı hakkında daha fazla bilgi edinmek istiyorum. Bununla başa çıkmak için bazı yaygın uygulamalar, yaklaşımlar ve proje tasarımları (kalıpları) nelerdir? Bu "modülerlik" programcıların dünyasında nasıl adlandırılır ve bunun hakkında daha fazla bilgi edinmek için ne yapmalıyım? Projeler bir süre sonra sorun yaratan ilk düşünce oranlarından sık sık büyüyor mu? İyi tasarlanmamış projelerin uzun derlemesinden kaçınmanın bir yolu var mı ? Bunları bir şekilde modüle etmenin bir yolu (belki de geliştirirken programın hayati olmayan bölümlerini hariç tutmak (başka herhangi bir fikir?))?
Teşekkürler.