TLDR;
Haruskah Anda menambahkan sumbernya? YA
Haruskah X menambahkan sumber? TERGANTUNG
Inilah sebabnya ...
Kembali pada hari itu, waktu kompilasi adalah masalah proyek yang bahkan lebih kecil. Mengkompilasi sumber Anda dan tidak pernah khawatir tentang caching hasil kompiler jelas menarik bagi sebagian orang. Itu satu poin untuk perpustakaan yang tidak relevan dengan Anda.
Yang penting lainnya adalah versi. Apakah Anda benar-benar perlu versi setiap perpustakaan secara terpisah? Jalankan tes terhadap masing-masing? Mendistribusikannya di antara banyak anggota tim? Perpustakaan sangat bagus jika Anda melakukannya, dan nyaman untuk bergerak, tetapi sekali lagi, tampaknya Anda juga tidak peduli tentang hal ini.
Poin terakhir di sini adalah, ini merupakan overhead tambahan, dan menjatuhkan file sumber lebih mudah dalam kasus Anda, yang memberikan poin yang sangat kuat untuk menjatuhkan sumber daripada menggunakan perpustakaan. Seperti yang Anda perhatikan, setelah Anda membuat satu perubahan pengaturan kompiler, Anda harus mengejar semua dependensi sebaliknya.
Saya tahu semua ini dari pengalaman:
Untuk proyek Swift, saya pasti menggunakan frameworks (libraries) dan tautannya, karena sangat mudah untuk mengonfigurasi menggunakan Xcode. Saya juga sangat membutuhkan versi, tes, dan decoupling di sana, jadi itu sebabnya.
Untuk proyek-proyek Mono (C #), untuk Unity, saya mulai dengan pendekatan tergesa-gesa memecah proyek menjadi perpustakaan, mengkompilasi dan menguji masing-masing, yang hebat ... tapi begitu saya menjatuhkan perpustakaan ke Unity, segala macam masalah terjadi , dari versi peretasan yang digunakan Mono Unity, hingga perilaku yang kadang berbeda yang ditunjukkan kode ketika mengubah platform. Tidak memiliki IDE tunggal di sini untuk mengelola semua perpustakaan adalah rasa sakit yang nyata, jadi menempatkan semua sumber di dalam Unity adalah kemenangan besar bagi produktivitas.
Akhirnya, yang paling relevan bagi Anda, proyek game C ++ yang saya kerjakan. Mesin permainan, klien jaringan waktu nyata, klien jaringan HTTP, AI, dan toko kegigihan ditulis untuk permainan ini, hanya di sisi klien. Apa yang saya pilih? CLion + Libraries. Meskipun saya menggunakan perpustakaan, saya tidak merasa seperti itu. Semua sumber ada di proyek CLion IDE, dan dengan menyusun CMakeLists, saya dapat memicu semua build dan menautkannya dalam satu stroke.
Sebagai kesimpulan , saya akan mengatakan menggunakan perpustakaan adalah solusi masa depan-bukti, tetapi juga optimasi prematur jika tidak diperlukan. Sejauh yang saya bisa memastikan dari situasi Anda, beralih dari MSVC ke Xcode akan menyusahkan jika Anda akan memiliki beberapa target build. Jadi, cukup masukkan dan pertahankan isolasi sebanyak mungkin untuk saat ketika Anda mungkin perlu menggunakan perpustakaan.
PS: Saya mengalami dilema yang sama belakangan ini dengan buruh pelabuhan. Haruskah saya menulis? Haruskah saya menjalankan secara lokal? .. dll. Juga Elixir, karena memungkinkan Anda untuk membangun Aplikasi dalam aplikasi yang sama .. Haruskah saya melakukan itu? Atau pisahkan aplikasi ke dalam apa yang disebut layanan mikro? ... dll. Tidak ada peluru perak, selalu ukur dirimu, seperti YMMV.