Saya selalu berusaha mengikuti prinsip KERING secara ketat di tempat kerja; setiap kali saya mengulangi kode karena kemalasan, kode itu menggigit kembali nanti ketika saya harus mempertahankan kode itu di dua tempat.
Tetapi sering saya menulis metode kecil (mungkin 10 - 15 baris kode) yang perlu digunakan kembali di dua proyek yang tidak dapat saling referensi. Metode ini mungkin ada hubungannya dengan jaringan / string / MVVM dll. Dan merupakan metode yang umumnya berguna tidak spesifik untuk proyek tempat awalnya.
Cara standar untuk menggunakan kembali kode ini adalah membuat proyek independen untuk kode yang dapat digunakan kembali dan referensi proyek itu ketika Anda membutuhkannya. Masalahnya adalah kita berakhir di salah satu dari dua skenario yang kurang ideal:
- Kami berakhir dengan puluhan / ratusan proyek kecil - masing-masing untuk menampung kelas kecil / metode yang kami butuhkan untuk digunakan kembali. Apakah layak membuat yang baru
.DLL
hanya untuk sedikit kode? - Kami berakhir dengan satu proyek memegang koleksi metode dan kelas yang tidak terkait. Pendekatan ini adalah apa yang dulu pernah saya lakukan di perusahaan tempat saya bekerja; mereka memiliki proyek bernama
base.common
yang memiliki folder untuk hal-hal seperti yang saya sebutkan di atas: jaringan, manipulasi string, MVVM dll. Itu sangat berguna, tetapi merujuknya tanpa perlu diseret dengan itu semua kode yang tidak relevan yang tidak Anda butuhkan.
Jadi pertanyaan saya adalah:
Bagaimana sebaiknya tim perangkat lunak menggunakan kembali sedikit kode di antara proyek?
Saya tertarik terutama jika ada orang yang bekerja di perusahaan yang memiliki kebijakan di bidang ini, atau yang telah menemukan dilema ini secara pribadi seperti saya.
Catatan: Penggunaan kata "Proyek", "Solusi" dan "Referensi" berasal dari latar belakang dalam pengembangan .NET di Visual Studio. Tapi saya yakin masalah ini adalah bahasa dan platform independen.