İşletme sınıflarımı hangi dilde adlandırmalıyım?


29

Bu soru ile en iyi uygulamayı istiyorum. Bu, yalnızca müşteri şirketinin kesinlikle ulusal olması durumunda, İngilizce'den başka bir anadili olmadığını düşünüyorum.

Müşterinin, daha az alana özel adlandırmalarla karıştırılmış, çoğunlukla etki alanına özgü (örneğin, Almanca) ifadeleri çok fazla varsa. Kod açıklamalarımızın dili, sınıf / yöntem / değişken isimleri İngilizce'dir. Tüm alana özel isimleri tercüme eder misiniz?


11
İngilizce. Programlama için Lingua Franca.
Rig

6
Daha 'zorlu' PHP hata mesajlarından biri ilginç bir İbrani kıvrımı var: unexpected T_PAAMAYIM_NEKUDOTAYIM. Bunu hayatımda birkaç kez gördükten sonra, birinin İngilizce kullanması gerektiğine dair hiçbir şüphem yok.
K.Steff

3
Alman etki alanına özgü ifadelerden herhangi birinin standart olmayan karakterleri var mı (örneğin, umulauts (sp?))? Bölgeniz dışındaki programcıları işe alırsanız, gerekli karakterleri olan bir klavye bulamayabilirler (benimki değil). Evet, 'yazılan' dili değiştirmenin yolları var, ama bu sıkıntıyı istemem.
Clockwork-Muse

2
Yunanca - latin olmayan alfabe kullanmak klingondan daha iyi bir iş güvenliğidir.
Wyatt Barnett

3
@ X-Zero düz ASCII dışına çıkan solucanlar "hangi karakter kodlamasını kullanıyoruz" kutusunu açar. Genellikle ısırılır ve bir daha oraya gitme.

Yanıtlar:


16

Almanya'da çalışıyorum ve İngilizceyi seçmeyi tercih ediyorum.

Bazen örneğin "DATEV" e bir modül oluşturmak gibi etki alanına özgü şeyler (almanca fatura / fatura yazılımı) Alman isimlerini kullanıyorum. Bazı Almanca kelimeler düzgün bir şekilde çevrilemiyor, örneğin "Referenzbuchungsnummer" (ReferenceBookingNum?) Veya "Sachkontenlaenge" (..?). Ayrıca, etki alanına özgü şeylerin bakım korkularıyla sonuçlanacağını düşünüyorum. Belki ReferenceBookingNum'un "Referenzbuchungsnummer" ile ilgili olduğunu hatırlarsınız, peki ya iş arkadaşlarınız? Dokümantasyon varsa, adlandırma ile ilgili dahili dokümantasyonu incelemeleri gerekir. Doğru isimler olmadan modüle çok aşina olmayacaklar. Diğer geliştiricilerin de Alman olması, gereksiz bir karmaşıklıktır. Ancak "CakeFactory", "KeksFabrik" dan çok daha iyi geliyor;)

Bu yüzden her şey değişir.


2
Bu cevap, diğer cevapları okuduktan sonra en çok kişisel baskımı yansıtıyor. Özellikle bu nokta: Her şeyi çevirirken "Diğer geliştiricilerin de Almanca olması gereksiz bir karmaşıklıktır".
Zeemee

1
@ Mulmoth: "Diğer tüm geliştiricilerin de Alman olması durumunda gereksiz bir karmaşıklık" --- Zamanın belirli bir döneminde, bazı yıllarda, projenin başka bir ülkeye dış kaynak sağlamayacağından nasıl emin olabilirsiniz? Almanca konuşmayan bir geliştiricinin projede belirli bir zamanda tanıtılmayacağından nasıl emin olabilirsiniz?
Coral Doe

5
@Coral Doe - Yeni / diğer / dış kaynak geliştiricisinin zaten iş alanını ve özel ifadelerini derinlemesine kazması gerektiğini düşünüyorum . Bu nedenle, müşterinin (o zamanlar hala Alman olacak) neyi yanlış / yanlış çevrilmiş ingilizce isimlerden ibaret olan almanca sınıflarına satabildiğini göstermek daha kolaydır.
Zeemee

2
Almanca fatura / vergi ile ilgili "mal" asla almanca konuşamayan bir ülkeye taşerona verilmeyecek. Üniversitede biri bana tüm fatura / vergi defterlerinin yüzde 85'inin Alman yasalarına atıfta bulunduğunu ve Almanca yazıldığını söyledi. Dünya çapında.
lurkerbelow 20:12

3
Kabul ediyorum ama hemen hemen her zaman olan bir sorun, geliştiriciler tarafından kullanılan dilin kullanıcılara ve diğer paydaşlara sızmasıdır. Kullanıcı arayüzünün bir parçası olarak değil, sorun alanı hakkında nasıl konuştuğunuzu. Bu, kaçınılmaz olarak, çoğu ingilizce geliştirici kadar akıcı olmadığı için karışıklığa neden olacaktır.
Mille Bessö,

14

Norveçli bir Norveçli şirkette çalışıyor olmak, nesnelerimi İngilizce olarak adlandırıyorum. Elbette, bazı kelimeler veya kavramların bir İngilizce karşılığı olmayabilir ve bu durumda, yerel bir sözcüğün, anlamı olmayan kötü bir ikame veya edebi çeviri yerine kullanılabileceği iddia edilebilir. Elbette, bu sorunların çoğu, bazılarımızın daha iyi bir kelime bilgisine sahip olması gerektiği gerçeği olabilir, bu yüzden genellikle iyi bir İngilizce adı düşünemiyorum eğer bir meslektaşıma soruyorum :)

Çalışanlarımızdan bazıları Norveççe değildir ve bu nedenle İngilizce olarak yazmak onlara yarar sağlar. Avrupa'nın çoğundan programcı kiralayabilmek ekonomi için iyidir, bu yüzden şirketim de bundan faydalanır.

BTW: Bir keresinde Hermes'in kaynağını okuduğumu hatırlıyorum (ebXML b2b uygulaması) ve Mandarin dilinde yazıp yorum yaparlarsa zor zamanlar geçirirdim.


5
Neredeyse "kolej" dediğimde "meslektaş" olduğu farz edildi, ancak kasıtlı olup olmadığından emin değildim.
Jacob Schoen

Tabii ki meslektaşım demek istedim :)
Sylwester

Of course some words or concepts might not have a English counterpart- Programlamada ne zaman ortaya çıktığını merak ediyorum, neredeyse sadece İngilizce konuşanların gelmeyeceği bir tasarım modelini biliyor olabilirsiniz. Hızlı bir örneğiniz var mı?
Izkata

5
@ Izkata: soru işletme sınıflarıyla ilgiliydi . Daha sık ülkeye özgü kural ve düzenlemelere bağlı kalıyorlar. Örneğin, yasa sizi tehlikeli kimyasallara sahip tüm kamyonların yerlerini izlemeye zorlarsa, bu yasadan sonra o sınıfı çok iyi adlandırabilirsiniz.
MSalters

9

İngilizcenin BT alanının lingua franca'sı olduğundan kaynak kodunuzu başka bir dille sınırlandırmanın gelişimine yapay engeller getirdiğine inanıyorum. İlk önce, belirli bir dili konuşanlara katkıda bulunabilecek kişilerin havuzunu sınırlandırırsınız. Yerel bir sitede değil, döviz borsasında sorduğunuz aynı sebep.

Ayrıca katkıların nereden geleceğini ve nereye gideceğini de bilmiyorsunuz. Ya bir siteden örnek kullanıyorsanız, bunu tercüme eder misiniz? Ürün, başka bir ülkedeki müşterilerden kullanılacak şekilde genişlerse? Bir taşeron / taşeron işe almaya ihtiyacınız var mı? Neden bir havuzu sınırlandırıyor ve dünyanın her yerinden en uygun olanı alamıyorsunuz?

Diğer dillerle kolayca eşleşmeyen bazı alanlara özgü yapıların veya mevcut bir kod tabanının muhafaza edilmesinin uygun olmadığını varsayabiliriz.


9

Son proje hedefim, teminatların ve ipoteklerin iş alanını modellemekti. Çalıştığımız tüm geliştiriciler ve şirket Polonya'dan. Yazılımı Domain Driven Design ilkelerine uygun olarak geliştirdik. Tüm isimler için Lehçe isimleri kullandık ve bence çok iyi bir seçim. Bu yaklaşım sayesinde iletişim sorunlarından kaçınabildiğimizi düşünüyorum. Ticari alan İngilizce çevirilerden ziyade Lehçe bile bilmediğim birçok terimden oluşuyordu. Sadece latin harfleri kullandık ve tüm teknik sınıflar İngilizce olarak adlandırıldı.


4
Bu iyi bir nokta: Eğer tüm etki alanı bilgileri yerel dilde ise ve etki alanı kavramları için üzerinde anlaşılan İngilizce isimler yoksa, yerel dili kullanmak iyi bir fikir olabilir.
Joachim Sauer

7

Tek bir dilde yazılmış kaynak kodunu okumak genellikle daha kolaydır. Bu, çoğu programlama dili için İngilizce olarak yazmanız gerektiğini belirtir.

Bununla birlikte, kolayca İngilizce'ye çevrilemeyen alan kavramlarıyla ilgili büyük bir sorun var. Tipik bir örnek, toplumun bireye verdiği benzersiz bir tanımlayıcıdır - ABD'de en yakın kavram sosyal güvenlik numarasıdır, ancak doğru bir haritalama değildir. İsimler ve telefon numaraları genellikle oldukça iyi eşleşir.

Doğru bir haritalamanın İngilizce'ye ne zaman uygun olmadığı, ancak yalnızca bu kişilerin - ingilizceyi İngilizce'de tutabildiği durumlarda etki alanı terimlerinin korunmasının genellikle gerekli olduğuna inanıyorum . KommuneImpl gibi sıra dışı tanımlayıcılara neden olacaktır, ancak alanı bilenlere hemen bir anlam ifade etmelidir.


2

Açık kaynaklı / uluslararası topluluk tipi projeler

Açık kaynaklı ve uluslararası topluluk projelerinin ortak dili İngilizce'dir. Örnek olarak, Stack Exchange sitelerinin dili İngilizce'dir. En geniş erişilebilirlik için, tüm kod ve nesne adları için İngilizce kullanılmalıdır.

Ticari Projeler

Çoğu uluslararası yazılım firması ingilizce kod yazılmasını zorunlu kılar. En büyük ortak paydadır, bu nedenle İngilizce'yi tutarlılık yaratma aracı olarak kullanmak mantıklıdır.

Birçok bölgesel yazılım firması kendi dilinde yazmaktadır. Hepsi bu yaklaşımı takip etmiyor, ancak kendi bakış açısına göre mantıklı - ortak geliştiricileri tüm geliştiricileri için kullanıyorlar.

İş nesnelerini adlandırma

Takımın kodlama dili nesneleri adlandırmak için kullanılmalıdır.
Öncelik, geliştiricilerin nesneler ve proje gereksinimleriyle ilgili olarak birbirleriyle iletişim kurabilmeleridir. Takım Fransızca olarak yazıyorsa, işletme nesneleri Fransızca olarak adlandırılmalıdır. İngilizce kodlarsa, nesneleri İngilizce olarak adlandırın.

Sorunuz kırışıklık ekliyor çünkü müşteri ekibinizin kodlama dili dışında bir anadili konuşuyor. Nesneleri adlandırmak için hala ekibinizin kodlama dilini kullanmalısınız.
İş analistlerinin veya geliştiricilerin müşteriyle belirli iş nesneleri hakkında iletişim kurmaları gerektiğinde, kod adından istemci diline nesne adının gerektiği gibi çevrilmesi gerekebilir. Tecrübelerime göre, müşteriyle belirli kod nesnelerinden bahsettim, bu yüzden istemci diline geri çevirmeye gerçekten ihtiyaç duyulmadı.

Adlandırma kuralının tek istisnası, bir nesnenin amacını yakalamak için yeterince kısa ve öz bir terim içermemesidir. IMO, bu gerçekten nadir, ancak ortaya çıkabilir. Gerçekte gerçekte, konuşulan dillerin belirli kavramları ifade etmek için yaptıkları aynı şeydir. " Cephe " aslen Fransızca bir terimdir, ancak kavramı ifade etmek için İngilizce tarafından uyarlanmıştır ve ortak bir tasarım desenidir. " Schadenfreude ", karşılık gelen bir yapıya sahip olduğunu düşünmeme rağmen, ödünç alınan bir terimin bir başka güzel örneğidir.


1
Son paragrafınız ilk yazdığınızla tamamen çelişir, öyle görünüyor
James

@James - teşekkürler! Şu an ne demek istediğimi açıklığa kavuşturmak için vaktim olmadığından bu bölümü kaldırdım. Destekleyici olması gerekiyordu, ama önemi yoktu.

1
Kesinlikle katılmamak. Neredeyse tanışacağınız her dilin temel kavramları İngilizce olarak yazılmış olduğundan, İngilizce olmayan terminoloji kullanılması daha az okunaklı kaynak koduna yol açar. Zihin sürekli olarak İngilizce ile diğer dil arasında atlamalıdır. Kod akıcı ve okunabilir olmalıdır.
Mike Adler

@MikeAdler - Genel kural olarak önerdiklerime (ekibin dilinde bir şeyler yazın) ya da çok nadir olması gereken istisna durumlarına katılmıyorsanız, net değil.

Verilen. Açıklayacağım: Herhangi bir nesnenin İngilizce'den başka bir dilde isimlendirilmesi gerektiğine katılmıyorum. İlk “Açık Kaynak / uluslararası topluluk tipi projeler” başlığınız benim bakış açımı çok iyi yansıtıyor. Bundan sonra her şey, ben satın almıyorum. Belirtildiği gibi, benim görüşüme göre, yaptığınız her tasarım kararında (adlandırma şeması dahil) pratik bir öneme sahip olması gereken sürdürülebilirliktir.
Mike Adler,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.