Apa arti `Penyelesaian` dalam pemrograman? [Tutup]

12

Saya melihat di banyak tempat di mana kata Resolvetersebut digunakan, di Dependency Injection (menyelesaikan implementasi ke antarmuka), Package Manager (mis: Menyelesaikan dependensi paket), Web (mis: Menyelesaikan nama host).

Jadi apa yang membuat logika kode begitu istimewa yang membuat seseorang memilih kata Resolvedaripada yang sederhana Convertatau Transformatau bahkan Get?

anouar.bag
sumber
4
Definisi dan penggunaan kata yang berkaitan dengan pengembangan perangkat lunak terutama didasarkan pada pendapat? ... Wow.
svidgen

Jawaban:

14

Perbedaannya sedikit, tetapi konsisten. Mengubah representasi menjadi yang lain melibatkan mengambil data yang sama dan mengekspresikannya dalam format lain - misalnya, heksadesimal menjadi angka desimal, atau string case campuran menjadi string yang lebih rendah. Biasanya, Anda tidak memerlukan apa-apa selain seperangkat aturan tetap untuk melakukan transformasi seperti itu.

Menyelesaikan nama biasanya melibatkan permintaan beberapa repositori yang mengaitkan nama dengan informasi yang tidak dapat diprediksi tanpa repositori. google.commungkin menyelesaikan ke alamat IP tertentu (beberapa, sebenarnya), tetapi itu adalah kecelakaan dari sejarah penugasan IP - mungkin saja nomor yang sama sekali berbeda, dan tidak ada cara untuk membuat terjemahan ini yang tidak entah bagaimana melibatkan menyimpan seluruh registri, atau meminta secara online. Demikian pula, menyelesaikan dependensi paket biasanya memerlukan menginstal paket missig - tidak cukup untuk mengetahui nama - nama komponen yang hilang, Anda harus benar-benar mendapatkan isinya, dan isinya tidak dapat diprediksi hanya dari namanya ("QMail" terdengar seperti program surat, tetapi Anda tidak dapat memprediksi properti persisnya hanya dari namanya tanpa menginstalnya, karena nama tersebut mengangkut informasi yang jauh lebih sedikit daripada program yang dikompilasi) .

Oleh karena itu Anda tidak boleh menggunakan istilah "penyelesaian" untuk sesuatu yang hanya merupakan transformasi data bebas konteks. Cadangan untuk situasi di mana sejumlah besar informasi dilambangkan dengan masing-masing nama, sedemikian rupa sehingga satu-satunya pengaturan yang masuk akal adalah memiliki pusat pendaftaran untuk itu.

Kilian Foth
sumber
Adakah ide dari mana asal terminologi ini (analogi atau sesuatu)?
anouar.bag
@ anouar.bag Untuk menyelesaikan: temukan jawaban atau solusi untuk sesuatu ( merriam-webster.com/dictionary/resolve[1] ) => Memecahkan simbol / nama adalah menemukan jawaban untuk simbol / nama itu, yaitu menentukan apa ini.
Christophe