Benim (öncelikle C ++) geliştirme, ben uzun kaynak dışı yapıları kullanmaya bağlı kalmış. Yani, kaynağım genellikle bir /project/src
dizinde oturuyor ve derlemeler a /project/build/bin/release
, /project/build/bin/debug
dizinlerinde yaşıyor . Bunu yaptım çünkü kaynak dizinlerimi ara dosyalardan temiz tutuyor, tüm ikili dosyalarım için bir konumum var, paketleme daha kolay, temizlik daha kolay ve sürüm kontrolü daha kolay. (Bir şey mi kaçırdım?)
Şimdi kaynak yapıları kullanan (büyük) bir projeyi miras alıyorum. Bu tip yapı için motivasyon nedir ve avantajları nelerdir? (En çok kişisel tercih türlerine göre mühendislik düzeyindeki nedenlerle ilgileniyorum.)
Lakos'un "Büyük Ölçekli C ++ Yazılım Tasarımı" nın bu konuya ağırlık vereceğini umuyordum, ama eğer özledim.
/project/src/bin/release
, veya gerçekten tüm ara ve çıktı dosyaları /project/src
? Bir düzineden fazla kaynak dosya varsa, ikincisi gerçekten bir karışıklık olabilir, birincisi tamam.
main.cpp
başlangıçta projenizin en üst seviyesinde olmakla birlikte, o üst düzeyde kaynağınızdan uzakta ayrı bir cmake oluşturma dizini oluşturur. Bu konuda da MSVS'nin Clion'a benzediğine inanıyorum.