Dalam bahasa apa saya harus memberi nama kelas bisnis saya?

29

Saya meminta praktik terbaik dengan pertanyaan ini. Ini hanya masalah jika perusahaan pelanggan yang benar-benar nasional memiliki bahasa asli selain bahasa Inggris, saya pikir.

Jika pelanggan memiliki banyak ekspresi yang sangat spesifik domain (katakanlah, Jerman), dicampur dengan beberapa nama domain spesifik yang lebih rendah. Bahasa komentar kode kami, kelas / metode / nama variabel adalah bahasa Inggris. Apakah Anda menerjemahkan semua nama spesifik domain?

Zeemee
sumber
11
Inggris. Lingua franca untuk pemrograman.
Rig
6
Salah satu yang lebih 'menantang' PHP pesan kesalahan memiliki twist Ibrani yang menarik: unexpected T_PAAMAYIM_NEKUDOTAYIM. Setelah melihat ini beberapa kali dalam hidup saya, saya tidak ragu bahwa seseorang harus menggunakan bahasa Inggris.
K.Steff
3
Apakah ada ekspresi khusus domain Jerman yang memiliki karakter non-standar (katakanlah, umulaut (sp?))? Jika Anda menyewa programmer di luar wilayah Anda, mereka mungkin tidak dapat menemukan keyboard dengan karakter yang diperlukan (milik saya tidak). Ya, ada beberapa cara untuk mengganti bahasa yang 'diketik', tetapi saya tidak ingin kerumitan itu.
Clockwork-Muse
2
Yunani - menggunakan huruf non-latin lebih aman daripada klingon.
Wyatt Barnett
3
@ X-Zero keluar dari plain ASCII membuka kaleng "pengkodean karakter apa yang kita gunakan" dari worm. Biasanya Anda digigit dan tidak pergi ke sana lagi.

Jawaban:

16

Saya bekerja di Jerman dan saya lebih suka memilih bahasa Inggris.

Kadang-kadang misalnya hal-hal spesifik domain seperti membuat modul ke "DATEV" (perangkat lunak penagihan faktur / Jerman) Saya memang menggunakan nama Jerman. Beberapa kata dalam bahasa Jerman tidak dapat diterjemahkan dengan baik, misalnya "Referenzbuchungsnummer" (ReferenceBookingNum?) Atau "Sachkontenlaenge" (..?). Saya juga berpikir bahwa hal-hal spesifik domain akan berakhir dengan pemeliharaan yang mengerikan. Mungkin Anda akan ingat bahwa ReferenceBookingNum akan berhubungan dengan "Referenzbuchungsnummer", tetapi bagaimana dengan rekan kerja Anda? Mereka harus mempelajari dokumentasi internal tentang penamaan, jika ada dokumentasi. Mereka tidak akan terbiasa dengan modul tanpa memiliki nama yang tepat. Ini adalah kompleksitas yang tidak perlu jika semua pengembang lain adalah Jerman juga. Tapi "CakeFactory" terdengar jauh lebih baik daripada "KeksFabrik";)

Jadi itu semua tergantung.

bersembunyi
sumber
2
Jawaban ini paling mencerminkan pendapat pribadi saya, setelah membaca jawaban yang lain. Terutama poin ini: "Ini adalah kompleksitas yang tidak perlu jika semua pengembang lain juga bahasa Jerman" ketika menerjemahkan semuanya.
Zeemee
1
@Mulmoth: "Ini adalah kompleksitas yang tidak perlu jika semua pengembang lain adalah Jerman juga" --- Bagaimana Anda bisa yakin bahwa pada suatu titik waktu, dalam beberapa tahun, proyek tidak akan diserahkan ke negara lain? Bagaimana Anda bisa yakin bahwa pengembang yang tidak berbahasa Jerman tidak akan diperkenalkan dalam proyek pada titik waktu tertentu?
Coral Doe
5
@Coral Doe - Saya pikir pengembang baru / lainnya / outsourcing sudah harus menggali jauh ke dalam domain bisnis dan ekspresi spesifiknya. Jadi imho lebih mudah untuk memetakan apa yang pelanggan (yang masih jerman) sais ke jerman bernama kelas istead dari buruk / salah terjemahan nama-nama bahasa inggris.
Zeemee
2
"Hal-hal" terkait penagihan / pajak Jerman tidak akan pernah dialihdayakan ke negara yang tidak berbahasa Jerman. Di universitas seseorang mengatakan kepada saya bahwa 85 persen dari semua buku tagihan / pajak merujuk pada undang-undang Jerman dan ditulis dalam bahasa Jerman. di seluruh dunia.
lurkerbelow
3
Saya setuju tetapi satu masalah yang hampir selalu terjadi adalah bahasa yang digunakan oleh pengembang bocor ke pengguna dan pemangku kepentingan lainnya. Bukan sebagai bagian dari ui tetapi bagaimana Anda berbicara tentang domain masalah. Ini pasti akan menimbulkan kebingungan karena tidak semua orang fasih berbahasa Inggris seperti kebanyakan pengembang.
Mille Bessö
14

Menjadi orang Norwegia yang bekerja di perusahaan Norwegia, saya memberi nama objek saya dalam bahasa Inggris. Tentu saja beberapa kata atau konsep mungkin tidak memiliki padanan bahasa Inggris dan dalam hal itu orang dapat berargumen bahwa kata asli mungkin digunakan sebagai pengganti yang buruk atau terjemahan literal yang tidak memiliki makna. Tentu saja, banyak dari masalah ini mungkin fakta bahwa sebagian dari kita harus memiliki kosa kata yang lebih baik sehingga saya biasanya bertanya pada seorang rekan jika saya tidak dapat memikirkan nama bahasa Inggris yang baik :)

Beberapa staf kami bukan orang Norwegia dan karenanya menulis dalam bahasa Inggris bermanfaat bagi mereka. Mampu merekrut pemrogram dari sebagian besar Eropa baik untuk ekonomi sehingga perusahaan saya mendapat manfaat dari itu juga.

BTW: Saya ingat pernah membaca sumber Hermes (implementasi ebXML b2b) dan saya akan mengalami kesulitan jika mereka menulis dan berkomentar dalam bahasa Mandarin.

Sylwester
sumber
5
Hampir diedit "kuliah" untuk apa yang saya anggap seharusnya "kolega" tetapi saya tidak yakin apakah itu disengaja.
Jacob Schoen
Tentu saja saya maksudkan kolega :)
Sylwester
Of course some words or concepts might not have a English counterpart- Saya selalu ingin tahu ketika muncul dalam pemrograman, hampir seperti Anda mungkin tahu pola desain yang tidak akan dihasilkan oleh penutur bahasa Inggris saja. Apakah Anda memiliki contoh cepat?
Izkata
5
@Izkata: pertanyaannya adalah tentang kelas bisnis . Mereka lebih sering terikat pada aturan dan peraturan khusus negara. Misalnya, jika undang-undang memaksa Anda untuk melacak lokasi semua truk dengan bahan kimia berbahaya, Anda mungkin menyebutkan nama kelas tersebut sesuai dengan hukum itu.
MSalters
9

Saya percaya bahwa karena bahasa Inggris adalah bahasa utama domain TI, membatasi kode sumber Anda ke bahasa lain menciptakan hambatan buatan untuk pengembangannya. Pertama, Anda membatasi kumpulan orang yang dapat berkontribusi pada orang yang berbicara bahasa tertentu. Alasan yang sama yang Anda tanyakan dalam pertukaran tumpukan dan bukan pada situs lokal.

Anda juga tidak tahu dari mana kontribusi akan datang dan ke mana akan pergi. Bagaimana jika Anda menggunakan sampel dari suatu situs, akankah Anda menerjemahkannya? Bagaimana jika produk diperluas untuk digunakan dari klien di negara lain? Jika Anda perlu menyewa kontraktor / outsourcing sedikit? Mengapa membatasi satu kolam renang dan tidak mendapatkan yang paling cocok dari seluruh dunia?

Dapat berasumsi bahwa itu OK untuk beberapa struktur spesifik domain yang tidak mudah dipetakan ke bahasa lain, atau jika basis kode yang ada dipertahankan.

Dimitrios Mistriotis
sumber
9

Tujuan proyek terakhir saya adalah memodelkan domain bisnis agunan dan hipotek. Semua pengembang dan perusahaan tempat kami bekerja berasal dari Polandia. Kami membangun perangkat lunak mengikuti prinsip-prinsip Desain Domain Driven. Kami menggunakan nama Polandia untuk semua entitas bisnis dan saya pikir itu adalah pilihan yang sangat baik. Saya pikir kami dapat menghindari masalah komunikasi berkat pendekatan ini. Domain bisnis terdiri dari banyak istilah yang bahkan tidak saya ketahui dalam bahasa Polandia, belum lagi terjemahan bahasa Inggris. Kami hanya menggunakan huruf latin dan semua kelas teknis diberi nama dalam bahasa Inggris.

empi
sumber
4
Itu poin yang baik: jika semua pengetahuan domain dalam bahasa lokal dan tidak ada nama bahasa Inggris yang disepakati untuk konsep domain ada, menggunakan bahasa lokal bisa menjadi ide yang baik.
Joachim Sauer
7

Biasanya lebih mudah membaca kode sumber yang ditulis dalam satu bahasa. Ini untuk sebagian besar bahasa pemrograman menyiratkan Anda harus menulisnya dalam bahasa Inggris.

Yang mengatakan, ada masalah besar dengan konsep domain yang tidak mudah diterjemahkan ke dalam bahasa Inggris. Contoh tipikal adalah pengidentifikasi unik yang diberikan masyarakat kepada individu - di AS konsep terdekat adalah nomor jaminan sosial, tetapi ini bukan pemetaan yang akurat. Nama dan nomor telepon biasanya dipetakan dengan cukup baik.

Saya percaya bahwa biasanya diperlukan untuk menjaga istilah domain setiap kali pemetaan yang akurat tidak tersedia dalam bahasa Inggris, tetapi hanya yang - simpan sisanya dalam bahasa Inggris. Ini akan menghasilkan pengidentifikasi yang tidak biasa seperti KommuneImpl, tetapi harus segera dipahami oleh mereka yang mengetahui domain tersebut.


sumber
2

Proyek tipe komunitas sumber terbuka / internasional

Bahasa umum proyek sumber terbuka dan komunitas internasional adalah bahasa Inggris. Contohnya, bahasa situs Stack Exchange adalah bahasa Inggris. Untuk aksesibilitas terluas, bahasa Inggris harus digunakan untuk semua nama kode dan objek.

Proyek Komersial

Sebagian besar perusahaan perangkat lunak internasional mengamanatkan kode untuk ditulis dalam bahasa Inggris. Ini adalah penyebut umum terbesar, jadi masuk akal untuk menggunakan bahasa Inggris sebagai sarana untuk menciptakan konsistensi.

Banyak perusahaan perangkat lunak regional menulis dalam bahasa ibu mereka. Tidak semua mengikuti pendekatan ini, tetapi masuk akal dari sudut pandang mereka - mereka menggunakan bahasa umum untuk semua pengembang mereka.

Menamai objek bisnis

Bahasa pengkodean tim harus digunakan untuk memberi nama objek.
Prioritasnya adalah agar pengembang dapat berkomunikasi satu sama lain mengenai objek dan persyaratan proyek. Jika tim menulis dalam bahasa Prancis, maka objek bisnis harus dinamai dalam bahasa Prancis. Jika mereka kode dalam bahasa Inggris, maka beri nama objek dalam bahasa Inggris.

Pertanyaan Anda menambah kerutan karena klien berbicara bahasa asli selain bahasa pengkodean tim Anda. Anda masih harus menggunakan bahasa kode tim Anda untuk memberi nama objek.
Ketika analis bisnis atau pengembang perlu berkomunikasi dengan klien tentang objek bisnis tertentu, terjemahan yang diperlukan dari nama objek dari bahasa coding ke bahasa klien mungkin diperlukan. Dari pengalaman saya, sangat jarang saya berbicara tentang objek kode tertentu dengan klien sehingga terjemahan kembali ke bahasa klien belum benar-benar diperlukan.

Satu-satunya pengecualian pada aturan penamaan adalah ketika suatu objek tidak memiliki istilah lain yang cukup ringkas untuk menangkap maksud objek tersebut. IMO, ini sangat jarang, tetapi bisa terjadi. Namun pada kenyataannya, hal yang sama dilakukan oleh bahasa lisan untuk mengekspresikan konsep tertentu. " Fasad " pada awalnya adalah istilah Perancis tetapi telah diadaptasi oleh bahasa Inggris untuk mengekspresikan konsep, dan merupakan pola desain umum. " Schadenfreude " adalah contoh bagus lain dari istilah pinjaman meskipun saya tidak berpikir itu memiliki pola yang sesuai.


sumber
1
Paragraf terakhir Anda benar-benar bertentangan dengan paragraf pertama Anda, sepertinya
James
@ James - terima kasih! Saya menghapus bagian itu karena saya tidak punya waktu saat ini untuk mengklarifikasi apa yang saya maksud. Seharusnya mendukung, tetapi tidak masalah.
1
Sangat tidak setuju. Karena konsep inti dari hampir setiap bahasa yang akan Anda temui ditulis dalam bahasa Inggris, menggunakan terminologi non-Inggris mengarah pada kode sumber yang kurang terbaca. Pikiran terus-menerus harus melompat antara bahasa Inggris dan bahasa lainnya. Kode harus lancar dan dapat dibaca.
Mike Adler
@ MikeAdler - tidak jelas apakah Anda tidak setuju dengan apa yang saya sarankan sebagai aturan umum (sebutkan hal-hal dalam bahasa tim) atau perkecualian yang seharusnya sangat jarang.
Memang. Saya akan mengklarifikasi: Saya tidak setuju bahwa benda apa pun harus diberi nama dalam bahasa selain bahasa Inggris. Judul pertama Anda 'Proyek Sumber Terbuka / jenis komunitas internasional' mencerminkan sudut pandang saya dengan sangat baik. Semuanya setelah itu, saya tidak membeli. Alasannya, seperti yang dinyatakan, adalah rawatan, yang harus menjadi perhatian utama untuk hampir setiap keputusan desain (termasuk skema penamaan) yang Anda buat, menurut pendapat saya.
Mike Adler