Peringatan: Ini bukanlah pertanyaan / diskusi yang terlalu serius yang saya posting ... tapi saya berani bertaruh bahwa sebagian besar pengembang telah merenungkan "masalah" ini ...
Selalu ingin mendapatkan pendapat lain tentang konvensi penamaan untuk metode yang pergi dan mendapatkan data dari suatu tempat dan mengembalikannya ...
Sebagian besar nama metode agak sederhana dan jelas ... SaveEmployee (), DeleteOrder (), UploadDocument (). Tentu saja dengan kelas Anda kemungkinan besar akan menggunakan bentuk singkat ... Simpan (), Hapus (), Unggah () masing-masing.
Namun, saya selalu kesulitan dengan tindakan awal ... bagaimana cara mendapatkan data. Tampaknya untuk setiap proyek saya akhirnya melompat di antara konvensi penamaan yang berbeda karena saya tidak pernah cukup senang dengan yang terakhir yang saya gunakan. Sejauh yang saya tahu ini adalah kemungkinan ->
- GetBooks ()
- FetchBooks ()
- RetrieveBooks ()
- FindBooks ()
- LoadBooks ()
Apa yang kamu pikirkan
sumber
fetch
ketika data waktu akses adalah rendah , yaitu pada perangkat yang sama, dari database lokal, dari memori.load
, ataudownload
jika waktu akses lebih tinggi , dari Internet, DB eksternal, dari fileSejujurnya Anda harus memutuskan dengan tim Anda konvensi penamaan mana yang akan digunakan. Tetapi untuk bersenang-senang, mari kita lihat apa yang akan Anda pikirkan untuk memutuskan salah satu dari ini:
Metode ini milik sumber data, dan kami tidak peduli bagaimana cara mendapatkannya, kami hanya ingin mendapatkannya dari sumber data.
Anda memperlakukan sumber data Anda seperti anjing pelacak, dan itu adalah tugasnya untuk mengambil buku Anda. Saya kira Anda harus memutuskan sendiri berapa banyak yang bisa dia muat di mulutnya sekaligus.
Sumber data Anda adalah pustakawan dan akan menggunakan sistem Desimal Dewey untuk menemukan buku Anda.
Buku-buku ini termasuk dalam semacam "tas buku elektronik" dan harus dimasukkan ke dalamnya. Pastikan untuk memanggil ZipClosed () setelah memuat untuk mencegah kehilangannya.
Saya tidak memiliki apa apa.
sumber
add
untuk menulis ke database dan menulis ke Store. Sekarang saya mencoba untuk memisahkan mereka, dan itu menyakitkan.Jawabannya hanya berpegang pada apa yang membuat Anda nyaman dan konsisten.
Jika Anda memiliki situs web barnes and nobles dan Anda menggunakan GetBooks (), maka jika Anda memiliki item lain seperti entitas Film, gunakan GetMovies (). Jadi apa pun yang Anda dan tim Anda suka dan konsistenlah.
sumber
Dalam OO (C ++ / Java) saya cenderung menggunakan getSomething dan setSomething karena sangat sering, jika tidak selalu, saya mendapatkan atribut pribadi dari kelas yang mewakili objek data tersebut atau menyetelnya - pasangan pengambil / penyetel. Sebagai nilai tambah, Eclipse membuatnya untuk Anda.
Saya cenderung menggunakan Load hanya ketika maksud saya file - seperti dalam "memuat ke memori" dan itu biasanya berarti memuat ke primitif, struct (C) atau objek. Saya menggunakan kirim / terima untuk web.
Seperti yang dikatakan di atas, konsistensi adalah segalanya dan itu termasuk lintas pengembang.
sumber
Tidak jelas apa yang Anda maksud dengan "mendapatkan data". Dari database? File? Penyimpanan?
Pandangan saya tentang penamaan metode adalah bahwa perannya adalah untuk menghilangkan ambiguitas dan idealnya kebutuhan untuk mencari dokumentasi. Saya percaya bahwa ini harus dilakukan bahkan dengan mengorbankan nama metode yang lebih panjang. Menurut penelitian, sebagian besar + pengembang menengah dapat membaca banyak kata dalam huruf unta. Dengan IDE dan pelengkapan otomatis, menulis nama metode yang panjang juga tidak menjadi masalah.
Jadi, ketika saya melihat "fetchBooks", kecuali jika konteksnya sangat jelas (misalnya, sebuah kelas bernama BookFetcherFromDatabase), itu ambigu. Ambil dari mana? Apa perbedaan antara Fetch and Find? Anda juga mempertaruhkan masalah bahwa beberapa pengembang akan mengaitkan semantik dengan kata kunci tertentu. Misalnya, ambil untuk database (atau memori) vs. memuat (dari file) atau unduh (dari web).
Saya lebih suka melihat sesuatu seperti "fetchBooksFromDatabase", "loadBookFromFile", "findBooksInCollection", dll. Ini kurang terlihat, tetapi setelah Anda melupakan panjangnya, itu jelas. Setiap orang yang membaca ini akan langsung mengerti apa yang Anda coba lakukan.
sumber