GB English veya US English?


97

Bir API'niz varsa ve son derece uluslararası bir kitleye sahip Birleşik Krallık merkezli bir geliştiriciyseniz, API'niz

setColour()

veya

setColor()

(Bir kelimeyi basit bir örnek olarak almak için.)

İngiltere merkezli mühendisler genellikle 'doğru' yazımları konusunda oldukça savunmacıdırlar ancak ABD yazımının uluslararası pazarda daha 'standart' olduğu tartışılabilir.

Sanırım soru önemli mi? Diğer bölgelerdeki geliştiriciler GB yazımıyla mücadele ediyor mu, yoksa normalde ne anlama geldiği oldukça açık mı?

Hepsi Amerikan İngilizcesi mi olmalı?


1
ikisini de içerir. bu sana zarar vermeyecek.
Amarghosh

Eğitim sistemimiz her zaman en-gb öğretir, bu yüzden kodla en-gb yazmaya alıştım. (Bazen, müşteriye özel Çinli kodu geliştirirken tembel davrandım ve bazı Çince tanımlayıcılar
Michael Tsang

Yanıtlar:


79

Diğer API'lerde norm haline geldiğinden ABD İngilizcesini kullanma eğilimindeyim. Bir İngilizce programcı olarak konuşursak, örneğin "renk" kullanmakta sorun yaşamıyorum.


6
Standardizasyon iyi bir hedeftir ve API'niz, GB versiyonunu kullanmaktan çok uluslararası kalabalık tarafından daha kolay kabul edilecektir.
Maitus

55

Ben anadili değilim. Yazarken her zaman kullanmaya çalışırım en-gb. Bununla birlikte, programlamada her zaman en-usİngiliz İngilizcesi yerine, tanımlayıcılarım için Almanca veya Fransızca kullanmamamla aynı nedenle kullanırım.


16

Genelde GB yazımı konusunda titiz olurdum, ancak kodun tutarlı olması durumunda çok daha iyi okuduğunu düşünüyorum ve şunu buluyorum:

Color lineColor = Color.Red;

şundan çok daha iyi görünmek için:

Color lineColour = Color.Red;

Sanırım sonuçta gerçekten önemli değil.


9
Herkese açık Color Color {get;} mülkünüz varsa daha da kötüsü
Benjol

15

Müşterilerinizin çoğunu nerede gördüğünüze bağlıdır. Ben şahsen özel kodumda İngilizce-GB (örneğin Renkli) kullanmayı tercih ediyorum, ancak harici olarak yayınlanan uygulamalar / API / kod için Color'a gidiyorum!


7
GB'yi dahili olarak ve ABD'yi harici olarak kullanmak, anlamsal değişken çarpışması riskini taşır - "renk" ve "co1or" ile olan şey türüne benzer. Beyniniz kelimeyi işliyor, hecelemeyi değil ve kafa karışıklığına neden olabilir
Chris Cudmore

1
Ben de aynısını yapma eğilimindeydim, ancak Chris'in bahsettiği şeye dikkat ederek - API'de bir yazım kullanırsanız, muhtemelen aynı şeyi projede başka bir yerde kullanmalısınız.
Mark Baker

10

Doğru yazım konusunda genellikle çok bilgiç olsam da, İngiliz bir geliştirici olarak her zaman Amerikan 'renk' yazımını kullanırdım. Karşılaştığım tüm programlama dillerinde bu böyle, bu nedenle tutarlılık adına 'renk' kullanmak çok mantıklı.


5

Bunun bir Java veya C # API olduğunu varsayarsak, IDE'lerdeki otomatik tamamlama işlevselliğinin yaygınlığı düşünüldüğünde muhtemelen önemli değildir. Bu dinamik bir dil içinse veya modern IDE'lerin norm olmadığı bir dil içinse, Amerikan yazımlarını tercih ederim. Tabii ki bir Amerikalıyım ve bu nedenle açıkça önyargılıyım, ancak ana dili İngilizce olmayan geliştiricilerden gördüğüm kodların çoğu, değişken isimleri için ABD yazımlarını kullanıyor gibi görünüyor.


3
.NET Framework tasarım yönergeleri tutarlılık adına ABD İngilizcesini önerir
Mark Cidade 01.08

@MarkCidade: Bahsedilen öneriye bir bağlantınız var mı? Başarısız bir şekilde aşağı yukarı aradım.
Dio F

1
@DioF Krzysztof Cwalina ve Brad Abrams'ın "Çerçeve Tasarım Yönergeleri: Yeniden Kullanılabilir .NET Kitaplıkları için Kurallar, Deyimler ve Kalıplar" adlı kitapta bahsediliyor
Mark Cidade

5

Bir İngilizce programcı olarak, yazılım geliştiricim için en-US kullanıyorum. Amerikan İngilizcesi hemen hemen her API'de o kadar iyi hakimdir ki, tek bir yazım türüne bağlı kalmak ve belirsizliği ortadan kaldırmak çok daha kolaydır. Yazım yerelleştirmeleri nedeniyle yalnızca yazımın bir harf eksik olduğunu bulmak için bir yöntem aramak zaman kaybıdır.


4

Mevcut standartlara uyacak ve ABD İngilizcesi yazımını seçecektim. HTML ve CSS, "renk" yazımıyla kabul edilen standartlardır, ikincisi, .NET gibi bir çerçeve ile çalışıyorsanız, muhtemelen farklı ad alanlarında mevcut renklere sahip olabilirsiniz.

İki yazımla uğraşmak zorunda kalmanın zihinsel vergisi, geliştiricilere yardım etmek yerine engelleyecektir.

Label myLabel.color = setColour();

3

ABD İngilizcesi olmayan API'lerle sorun yaşıyorum. Sadece yazım farklılıkları yüzünden. Kelimelerin ne anlama geldiğini biliyorum ama farklı yazım beni heyecanlandırıyor.

Aşina olduğum kitaplıkların ve çerçevelerin çoğu ABD yazımlarını kullanıyor. Tabii ki, ben bir Amerikalıyım, yani ... ABD İngilizcesi benim anadilim.


3

Geliştirme belgelerinin çoğu (tıpkı MSDN gibi) Amerikan İngilizcesindedir.

Bu nedenle, uluslararası kitleyi hedefliyorsanız ana akışta kalmak ve API'nizde Amerikan İngilizcesi kullanmak daha iyi olabilir.


2

Başka bir örnek aldım: Seri Hale Getir ve Seri Hale Getir. :)

Şahsen bunun pek önemli olduğunu düşünmüyorum. İngiltere-İngilizce yazım denetimi yapan ülkeleri kullanan ve Birleşik Krallık yazımını kullanan projeler üzerinde çalıştım. Hala İngilizce ve Intellisense yüzünden pek bir önemi yok.


Eminim İngilizce öğretmenim bana 'ize sonlarının GB İngilizce'de geçerli olduğunu söyledi? Hem ise hem de ize sonları GB İngilizce'de kabul edilebilir, bu yüzden septiklere uyacak şekilde benimkini yaparım. ( cockneyrhymingslang.co.uk/slang/sceptic_tank )
Scott Langham

2

Bir Kanadalı olarak her zaman bununla karşılaşıyorum. Kas hafızam "u" harfine ulaşmaya devam ettiği için "renk" yazmak benim için çok zor.

Ancak kütüphanelerin dilini benimseme eğilimindeyim. Java'nın Color sınıfı var, bu yüzden ben renk kullanıyorum.


1
"c", "o", "l", Ctrl + Boşluk "."
Tom

1

Mümkünse alternatif kelimeler bulmaya çalışıyorum. Slaytı -ize edeceğim. Renk için muhtemelen Ton, Mürekkep, Ön Plan / Arka Plan kullanabilirim ...

Değilse, bir İngiliz olarak en-GB'yi kullanacağım çünkü ülkemde ve kökenlerimde biraz gurur duyuyorum.

Ancak daha büyük bir projenin parçası olsaydı, özellikle de uluslararası bir projenin parçası olsaydı, yukarıda küçük bir bölümün bir dil varyasyonunda ve geri kalanı başka bir dil varyasyonunda olmak üzere tüm projenin tutarlı olmasını sağlardım.


2
Renk / veya renk yerine ön plan / arka plan kullanımına katılmıyorum). ön / arka plan, örneğin desen anlamına da gelebilir. Bir colo (u) r ayarlamak / almak istiyorsanız, ona bunu söylemelisiniz. Eksik / ek 'u', yanlış adlandırılmış bir özelliğe göre daha az kafa karıştırıcıdır.
Treb

Bu örnekteki bir nitpick, ilke değil, yeterince adil.
JeeBee

2
Btw. -ize yazımı bir Amerikancılık değildir!
Jules

@Jules evet, öyle.
igorcadelima

@igorcadelima Ortak kullanımda İngiliz olabilir, ancak lütfen göz önünde bulundurun: en.wikipedia.org/wiki/Oxford_spelling
Jules

1

Ayrıca işleri tutarlı kılmak için (diğerlerinin burada daha önce de belirttiği gibi) Amerikan İngilizcesi'nin yanında yer almam gerekecek. Anadili ABD-İngilizcesi olmasına rağmen, hem Alman hem de İsveç yazılım şirketleriyle yazılım projeleri yaptım ve her iki durumda da, zaman zaman ekip arkadaşlarımın kodda Almanca veya İsveççe metin kullanmasına neden oluyordu - genellikle yorumlar için, ancak bazen değişken veya yöntem adları için de. Bu dilleri konuşabilsem de, bu gerçekten göze çarpıyor ve projeye yeni bir konuşmacı olmayan kişinin katılmasını zorlaştırıyor.

Çoğu Avrupalı ​​yazılım şirketi (en azından birlikte çalıştığım şirketler) aynı şekilde davranıyor - kod İngilizce kalıyor, çünkü bu, kodu başka bir programcının devreye girmesi durumunda daha uluslararası dostu hale getiriyor. Dahili dokümantasyon genellikle ana dilde yapılma eğilimindedir.

Bununla birlikte, buradaki ayrım, İngilizce'nin iki farklı lehçesi ile ilgilidir ve bu, aynı kaynak kod dosyasında tamamen farklı iki dil görmek kadar aşırı değildir. Öyleyse söyleyebilirim ki, API'yi ABD İngilizcesi olarak tutun, ancak size daha uygunsa, yorumlarınız GB-İngilizcedir.


1

Sizin dilinizdeki diğer kütüphanelerin kendi kurallarını nasıl seçip uyguladıklarına bakın derim.

Programlama dilinin tasarımcıları ve yerleşik API'leri bir seçim yaptı ve kullanıcıların uluslararası olup olmadıklarına karar verdiler ve bu seçimle tutarlı yazımları görmeye alışkınlar. Farklı bir dilden konuşanları değil, bir programlama dili kullanıcılarını hedefliyorsunuz. Muhtemelen, yerleşik API'lerden yabancı dilde epeyce kelime öğrenmiş olmaları ve ABD İngilizcesi ile GB İngilizcesi arasında farklılıklar olduğunun farkında olmayabilirler. Havuzun kenarlarını değiştirerek onları karıştırmayın.

Öncelikle .NET dillerini kullanıyorum ve .NET Framework ABD İngilizcesi yazımlarını kullanıyor. Bu platformda, Amerikan İngilizcesine bağlı kalırım. GB English'de standartlaştırılmış herhangi bir dilin farkında değilim, ancak sizinki bunu yaptıysa, o zaman kesinlikle dil ile tutarlı kalın.


1

"Amerika'ya git" grubuna katılıyorum. Ben e-posta yazarken en-GB'yi tercih ederim, ancak Amerikan İngilizcesi hemen hemen tüm programlama çevrelerinde standarttır.


1

İngiliz İngilizcesi tüm dünyada konuşulan bir şey olsa da, diğer insanların da pazara hakim olduğunu söylediği Amerikan İngilizcesini kullanmanızı tavsiye ederim.



1

İlk önce ben ABD'deyim. Şu anki projemde her zaman "renk" var, ancak yazım seçemediğimiz kelime "gri" ve "gri".

Aslında oldukça can sıkıcı bir hal aldı.


1

Tanımlayıcı adları için dil seçiminin hedef kitle ile hiçbir ilgisi yoktur ve her şeyin çerçevenin veya API'nin geliştirildiği orijinal dille ilgisi vardır.

Çok fazla dil bilmiyorum ama Amerikan İngilizcesinden başka bir şey kullanan tek bir dil düşünemiyorum.

Farklı yazımlar nedeniyle ince hatalar getirmenin tehlikeleri çok büyük IMHO.

Bir işlev geçersiz kılma, kolayca sözde aşırı yükleme haline gelebilir.

Yazımdaki farklılık nedeniyle bir yapılandırma dosyası geçersiz hale gelebilir.

Aynı kavramsal nesnenin hem en-US hem de en-GB kullanılarak birden çok sınıf kullanılarak tanımlandığı bir durum ortaya çıkabilir.

Bu nedenle, bir kod parçası ister yalnızca dahili kullanım için isterse harici kullanım için tasarlanmış olsun, kullanılan yazımlar her zaman platform / çerçeve / derleyici / API'nin orijinal diliyle eşleşmelidir.


Yalnızca API'mizdeki tutarlılığı önemsiyorum. Örneğin, paketimiz İngiltere'yi hedefliyorsa, yalnızca en-gb kullanılabilir, "renk" gibi yazım kesinlikle kullanılmaz.
Michael Tsang

Sanırım kendi temel sınıf kitaplıklarını da yazıyorsun, Michael?
Umar Farooq Khawaja

0

Tüm programcılarınız İngilizse, en-gb kullanın. Kodunuz İngiltere dışındaki programcılar tarafından görülecekse, o zaman en-us daha iyi bir seçim olacaktır.

Küçük bir nokta, belgelerimizi diğer dillere kopyalamak için bir çeviri hizmetine güveniyoruz. Kaynak olarak en-us kullanırken daha iyi çeviriler elde ettiğimizi gördük.


0

Hedef kitlenizi dikkate almanız gerekir. Kodu kim kullanacak ve ne görmeyi bekliyorlar?

Hem Kanada hem de ABD'de ofisleri olan bir şirkette çalışıyorum. Kanada'da belge ve kod üretirken Kanada'da yazım (İngiliz İngilizcesine çok benzer) ve ABD'de kullanılanlar için ABD'de yazım kullanırız.

Bazı şeyler sınırları aşar, ancak yazımdaki farklılık nadiren bir sorundur. Amerikalılar, Candian ve İngiliz İngilizcesi için farklı yazımların farkında olmadığında, gerçekten de ilginç bir diyalog oluşturabilir. Bazen onlarda sorun yok, bazen de "doğru" yazımla değiştirilmesinde ısrar ediyorlar. Bu aynı zamanda tarih biçimlerini de etkiler (Kanada'da gg / aa / yyyy ve ABD'de aa / gg / yyyy)

Bir çıkmaz olduğunda, Kanada'daki insanlar her iki varyasyona da aşina olduğu için tipik olarak ABD yazımını kullanırız.


0

Birleşik Krallık İngilizcesi yerine ABD'yi seçtiğimin ana nedeni, Birleşik Krallık'taki izleyicinin ABD'deki yazımla karşılaştıklarında bunun bir ABD uygulaması olduğunu fark etmeleridir (veya öyle olduğunu varsayarlar), oysa Birleşik Krallık'ta yazımla karşı karşıya kalan ABD'li bir izleyici '.. . hey, bu yanlış .. renk değil renk '

Ancak diğerlerinin de söylediği gibi, standartlaştırın. Al ve ona bağlı kal.


0

Benim için hiç düşünmeden İngiltere İngilizcesinde çalışmak doğal olarak geliyor. Ancak, dahili prosedürler geliştiriyorsanız, bu gerçekten önemli değil. Herkese açık olarak kullanılacak API'ler oluşturuyorsanız ve hedef kitleniz uluslararası ise, neden ikisini birden uygulamıyorsunuz?



0

Yazılım İngiliz İngilizcesi seçeneği sunmadığından, kurulum dosyalarında vb. Amerikan İngilizcesini kullanmaya zorlandığımda kalp atış hızı ve kan basıncı yükselen bu insanlardan biriyim, ama bu sadece ben mi :)

Bununla ilgili kişisel görüşüm, her iki yazımı da sağlamak, onlara setColor () ve setColour () vermek, kodu bunlardan birine yazmak ve sadece ikincisinin parametreleri geçirmesini sağlamak olacaktır.

Bu şekilde her iki grubu da mutlu edersiniz, zekanızın biraz daha uzun sürdüğü kabul edilir, ancak en azından insanlar 'yanlış' dili kullanmanızdan şikayet edemezler.


7
Bu iyi bir fikir değil. API, gereksiz yöntemlerle doludur.
McDowell

6
Bu gerçekten kötü bir çözüm. SetColour ve setColor arasındaki farkı anlamaya çalışan birçok insanın kafasını muhtemelen karıştıracaksınız. Ayrıca, içinde renk kelimesi olan birçok yönteminiz varsa, bir API'de çok fazla dağınıklık yaratabilir.
Kibbee

Benim düşüncelerim tam. Her iki yazımı da sağlamanın ve sadece aynı olduklarını belgelemenin hiçbir maliyeti yoktur. Artıklık itirazına gelince, kullanılabilirlik ortogonaliteden üstündür.
Dave Sherohman

0

Birkaç yüz yıl öncesine bakarsanız, birçok kişinin düşüneceği gibi, değişikliğin ABD ile hiçbir ilgisi olmadığını göreceksiniz. Değişiklikler Avrupa etkilerinden, özellikle de Fransızlardan kaynaklanıyor. O zamandan önce, İngilizce "renk" kelimesi aslında "renk" olarak yazılıyordu.

Çinli çocukların yarısı Avrupa öncesi etkisini ve ABD'nin İngilizce anlayışını öğrenirken, diğer yarısı da bugünkü haliyle İngilizce olarak benimsediğinden, standartlaştırmaya çalışmak boşuna olacaktır.

Dilin bir sorun olduğunu düşünüyorsanız, 600g ağırlığındaki Tayvan Kg'yi düşünmelisiniz. Bunu nasıl başardıklarını henüz öğrenmedim, ama umarım asla uçak yakıt ikmal personeli olarak çalıştırılmazlar!


0

Programlamam için her zaman en-GB kullanıyorum. Sanırım İngiliz romanlarının ağır etkisinden kaynaklanıyor.

Bununla birlikte, dahili olarak aynı işlevi çağıran iki farklı API setine (biri en-US için, biri en-GB için) sahip olmak mümkün olmayabilir mi? Bu, üstbilgi dosyalarını şişirebilir, bu yüzden belki bir önişlemci tanımına, koşullu bir derlemeye bağlı olabilir mi? C ++ kullanıyorsanız, aşağıdaki gibi bir şey yapabilirsiniz ...

#ifdef ENGB
     typedef struct Colour
     {
      //blahblahblah
     };
     void SetColour(Colour c);
#else
    typedef struct Color
    {
      //blahblahblah
    };
    void SetColor(Color c);
#endif

İstemci programcısının ENGB'yi aşağıdaki gibi tanımlayıp tanımlamadığına bağlı olarak

#define ENGB

API'leri tercih ettiği kültürde kullanabilir. Belki bu kadar önemsiz bir amaç için fazla öldürür, ama hey, önemli görünüyorsa neden olmasın! :)


2
Hemen hemen tüm standart API'ler takip ettiği için ABD yazımını takip etmek daha iyidir. Derleyiciler kesinlikle tam yazım gerektirir, bu nedenle iki yerel ayar için iki farklı API sağlamak kötü bir fikirdir. Belgeler iki farklı yerel ayara hitap edebilir, ancak API tutarlı olmalıdır. Genel olarak, aynı API, Almanca, Fransızca, İspanyolca vb. Gibi farklı dilleri konuşan farklı bölgelerde kullanılsa bile, dokümantasyon yerel dillerde açıklamalar sunabilse de, yöntemler, değişkenler vb. Tümünün orijinal API dilini takip etmesi beklenir. (büyük olasılıkla ABD Mühendisi).
ADTC
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.