2008-10-01 11 views
75

, 당신의 API가 있어야한다GB 영어 또는 미국 영어? 당신은 API를 가지고, 당신은 높은 국제 청중과 함께 영국에 본사를 둔 개발자의 경우

setColour() 

또는

setColor() 

(간단한 예로서 하나 개의 단어를 촬영하려면 .)

영국의 엔지니어들은 종종 '올바른'철자에 대해 상당히 방어 적이지만 미국 시장의 철자법이 국제 시장에서 '표준'이라고 주장 할 수 있습니다.

나는 그 질문이 중요하다고 생각하니? 다른 지역의 개발자가 GB 철자로 고생하고 있습니까? 아니면 일반적으로 상황이 의미하는 바가 뚜렷합니까?

모두 미국 영어 여야합니까?

+12

나는 캐나다 영어를 제안합니다. –

+3

제목에 en-us 'Oxford'쉼표가 있음을 지적하는 것은 아이러니 컬일까요? – Unsliced

+0

정말 좋은 질문입니다! 나는 항상 "맞음"(즉, GB :) 철자법을 고수하고 있지만,이 질문에 대한 응답은 나에게 다른 언어를 배우는 것이 합리적인 경로인지 여부를 묻습니다. –

답변

63

다른 API에서는 표준이 된 것처럼 US - 영어를 사용하는 경향이 있습니다. 영어 프로그래머라고 말하면서 "color"를 사용하는 데 아무런 문제가 없습니다.

+4

표준화가 좋은 목표이며, GB 버전을 사용하는 경우보다 국제 군중이 API를 더 쉽게 수락 할 수 있습니다. – Maitus

15

대부분의 고객에게 표시되는 위치에 따라 다릅니다. 필자 개인적으로 영어 -GB (예 : Color)를 사용하는 것을 선호하지만 외부에 게시 된 응용 프로그램/API/코드에 대해 Color로 이동합니다.

+7

내부적으로 GB를 사용하면 외부에서 의미 적 변수 충돌 위험이 있습니다. "색상" 및 "co1or"로 발생하는 유형과 유사합니다. 당신의 두뇌는 철자가 아니라 단어를 처리하고 혼란을 가져올 수 있습니다. –

+1

나는 똑같은 경향이 있지만 크리스가 언급하는 것을주의해야합니다. API에서 하나의 철자를 사용하면 아마 다른 곳에서 같은 철자를 사용해야합니다. 프로젝트. –

3

영어 (미국)가 아닌 API에 문제가 있습니다. 철자 차이 때문입니다. 나는 그 단어가 의미하는 바를 알고 있지만, 다른 철자가 나를 따라 간다.

필자가 익숙한 대부분의 라이브러리와 프레임 워크는 미국 철자를 사용합니다. 물론 저는 미국인입니다 ... 미국 영어는 제 모국어입니다.

2

다른 샘플이 있습니다. Serialise and Serialize. :)

개인적으로 나는별로 중요하지 않다고 생각합니다. 저는 영국 - 영어 철자법을 사용하는 프로젝트에서 일했으며 영국 철자법을 사용합니다. 그것은 여전히 ​​영어이며 Intellisense로 인해별로 중요하지 않습니다.

+0

제 영어 선생님이 '엔딩 엔딩이 GB 영어로 유효하다고 말씀 하셨습니까? ise 및 ize 엔딩 모두 GB 영어로 사용할 수 있으므로, 나는 패혈증에 맞추기 위해 내 것이 좋습니다. (http://www.cockneyrhymingslang.co.uk/slang/sceptic_tank) –

9

저는 대개 정확한 철자법에 대해 매우 솔직합니다. 영국 개발자로서 나는 항상 미국식 '색상'철자를 사용합니다. 내가 만난 모든 프로그래밍 언어에서, 이렇게, 일관성을 위해 '색상'을 사용하는 것이 합리적입니다.

4

이것이 Java 또는 C# API라고 가정하면 IDE에서 자동 완성 기능의 보급이 중요 하진 않을 것입니다. 이것이 역동적 인 언어 또는 현대 IDE가 표준이 아닌 언어를위한 것이라면 나는 미국 철자법과 함께 갈 것입니다. 물론 나는 미국인이고 따라서 분명하게 편파적이지만, 영어가 모국어가 아닌 개발자가 볼 때 대부분의 코드는 변수 이름에 대해 미국 철자를 사용합니다.

+1

.NET Framework 설계 지침에서는 일관성을 위해 미국 영어를 권장합니다. –

+0

@MarkCidade : 언급 된 권장 사항에 대한 링크가 있습니까? 나는 그것을 성공없이 위아래로 조사했다. –

+0

@DioF이 책의 "프레임 워크 디자인 지침 : Reusable .NET 라이브러리의 규칙, 관용구 및 패턴"에 대한 내용은 다음과 같습니다. Krzysztof Cwalina 및 Brad Abrams –

3

대다수의 개발 문서 (MSDN과 마찬가지로) 미국 영어로되어 있습니다.

해외 시청자를 타겟팅하는 경우 메인 스트림에 머무르고 API에 미국 영어를 사용하는 것이 좋습니다.

49

나는 원어민이 아니다. 서면으로 나는 항상 en-gb을 사용하려고합니다. 그러나 프로그래밍에서 나는 항상 식별자 대신 독일어 또는 프랑스어를 사용하지 않는 것과 같은 이유로 영국 영어가 아닌 en-us을 사용합니다.

+2

게시하고 싶은 내용 – OregonGhost

+3

글쓰기와 말하기 모두에서 나는 en-gb를 사용하는 것을 선호합니다. 프로그래밍 할 때는 항상 en-us로 되돌아갑니다. 이 대답은 정말로 내 생각을 되풀이했습니다! –

2

캐나다인으로서 나는 항상이 문제에 부딪 힙니다. 내 근육 기억 장치가 'u'에 계속 도달 할 때 '색'을 입력하는 것은 매우 어렵습니다.

그러나 나는 도서관의 언어를 채택하는 경향이 있습니다. Java에는 Color 클래스가 있으므로 색상을 사용합니다.

+1

"c", "o", "l", Ctrl + Space, "." – Tom

15

일반적으로 나는 GB 맞춤법에 대한 까다로운 것 그러나 나는 코드가 일치하는 경우에 더 많이 읽고 생각 나는 찾을 :

Color lineColour = Color.Red; 
:

Color lineColor = Color.Red; 

보다 훨씬 더보고

궁극적으로 중요하지 않습니다.

+6

당신이 재산을 가지고 있다면 그것은 더 나쁘다. Color Color {get;} – Benjol

1

가능한 경우 대체 단어를 찾으려고합니다. 내가 let -ize 슬라이드 것입니다. 컬러의 경우 아마도 색조, 잉크, 전경/배경을 사용할 수 있습니다 ...

영국인으로서, 저는 자국이 기원에 남아 있기 때문에 영어를 사용합니다.

하지만 더 큰 프로젝트, 특히 국제 프로젝트의 일부인 경우 전체 프로젝트의 일관성을 유지하면서 작은 부분을 하나의 언어 변형으로, 나머지는 다른 부분으로 일관되게 유지할 수 있습니다.

+2

나는 color/or color 대신 foreground/background를 사용하는 것에 동의하지 않는다.) fore/background는 예를 들어 패턴을 의미 할 수도 있습니다. colo (u) r을 설정/가져 오려면, 이것을 호출해야합니다. 누락/추가 'u'는 이름이없는 속성보다 혼동이 적습니다. – Treb

+0

그게 원칙에 대한 것이 아니라 충분히 공정한 예에 관한 것입니다. – JeeBee

+2

Btw. the-size 철자법은 미국식이 아닙니다! – Jules

1

저는 심장 박동수와 혈압이 상승 할 때마다 소프트웨어가 영국식 영어 옵션을 제공하지 않기 때문에 설정 파일 등에서 미국 영어를 사용해야 할 때가 있습니다. ,하지만 그게 나야 :)

개인적인 견해로는이 두 가지 철자를 모두 제공하고 setColor() 및 setColour()를 제공하고 그 중 하나에 코드를 작성한 다음 두 번째 코드 만 작성하면됩니다. 매개 변수를 전달하십시오.

이렇게하면 두 그룹을 행복하게 유지할 수 있지만 인텔리 센스는 조금 더 오래 걸리지 만 적어도 사람들은 '잘못된'언어를 사용하여 불만을 토로 할 수 없습니다.

+0

"나는 강요 당할 때마다 심장 박동수와 혈압이 상승하는 사람들 중 한 사람입니다. 설치 파일에서 미국 영어를 사용하는 등 "... 나! –

+5

이것은 좋은 생각이 아닙니다. API는 중복 메소드로 흩어져 있습니다. – McDowell

+4

그건 정말 좋지 않은 해결책입니다. setColour와 setColor의 차이점을 알아 내려고 애쓰는 많은 사람들을 혼란스럽게 할 것입니다. 또한, color라는 단어가있는 메서드가 많은 경우 API에서 많은 혼란을 야기 할 수 있습니다. – Kibbee

4

나는 현행 표준을 따르고 미국 영어 철자를 고를 것입니다. HTML과 CSS는 "색상"철자로 인정되는 표준입니다. 둘째, .NET과 같은 프레임 워크로 작업하는 경우 다른 이름 공간에서 이미 색상을 사용할 수 있습니다.

두 가지 맞춤법을 처리하는 데 대한 정신적 세금은 개발자를 돕는 것이 아니라 방해합니다.

Label myLabel.color = setColour(); 
0

모든 프로그래머가 영국인 인 경우 en-gb를 사용하십시오. 영국 이외 지역의 프로그래머가 코드를 볼 수 있다면 더 나은 선택이 될 것입니다.

우리는 다른 언어로 문서를 복사하기 위해 번역 서비스를 사용합니다. 우리는 en-us를 소스로 사용할 때 더 좋은 번역을 찾았습니다.

1

나는 또한 일을 일관성있게 유지하기 위해 미국 영어와 함께해야 할 것입니다. 저는 미국 영어 원어민이지만 독일어 소프트웨어 회사와 스웨덴 소프트웨어 회사 모두와 소프트웨어 프로젝트를 진행했습니다. 두 경우 모두 유감스럽게도 독일어 또는 스웨덴어 텍스트를 주석으로 사용하도록 때때로 제 팀원을 때려칩니다. 때로는 변수 또는 메소드 이름에도 사용됩니다. 비록 내가 그 언어를 말할 수 있지만, 그것은 정말로 눈에 싫증나 며, 프로젝트에 새로운 비 - 연설자를 데려 오기가 더 어렵게 만듭니다.

대부분의 유럽 소프트웨어 회사 (적어도 내가 사용 해본 소프트웨어 회사)는 똑같은 방식으로 작동합니다. 코드가 영어로 유지되는 이유는 다른 프로그래머가이 코드를 더 국제적으로 사용하기 쉽기 때문입니다. 내부 문서는 일반적으로 모국어로 작성되는 경향이 있습니다.

그런데이 구별은 영어의 두 가지 방언입니다. 동일한 소스 코드 파일에서 완전히 다른 두 가지 언어를 보는 것만 큼 극단적이지는 않습니다. 따라서 API를 미국 영어로 유지하십시오. 그러나 GB-English로 의견을 작성하는 것이 좋습니다.

1

귀하의 언어로 된 다른 라이브러리를 선택하고 준수하는 방법을 살펴 보겠습니다.

프로그래밍 언어 및 내장 API의 설계자는 선택을했고, 사용자가 국제적이든 아니든이 선택과 일관된 철자를 보는 데 익숙하지 않은지 여부를 결정했습니다. 다른 언어 사용자는 아니지만 프로그래밍 언어 사용자를 대상으로합니다. 확률은 내장 API에서 외국어로 된 단어를 꽤 많이 배웠고 미국 영어와 GB 영어의 차이점을 알지 못할 수도 있습니다. 연못의 측면을 전환하여 혼동하지 마십시오.

주로 .NET 언어를 사용하고 .NET Framework에서는 미국 영어 철자를 사용합니다. 이 플랫폼에서는 미국 영어를 계속 사용합니다. GB 영어로 표준화 된 언어는 알지 못하지만, 귀하가 영어를 모국어로 사용한다면 영어로 일관성을 유지하십시오.

1

나는 "미국인을 위해"극단에 동의한다. 나 자신이 전자 메일을 쓸 때 en-GB를 선호하지만 미국 영어는 모든 프로그래밍 서클에서 거의 표준입니다.

4

영어 프로그래머로서, 저는 소프트웨어 개발을 위해 ko-US를 사용합니다. 미국 영어는 거의 모든 다른 API에서 매우 잘 작동하므로 한 유형의 맞춤법을 고수하고 모호성을 제거하는 것이 훨씬 쉽습니다. 철자법이 맞춤법 검사로 인해 하나의 문자로만 표기되는 것을 찾는 방법을 찾는 것은 시간 낭비입니다.

1

영국 영어가 전세계에서 사용되는 언어 임에도 불구하고 다른 사람들처럼 시장을 지배한다고 말한 미국 영어를 사용하는 것이 좋습니다.

0

잠재 고객을 고려해야합니다. 누가 코드를 사용할 것이며 무엇을 기대하고 있습니까?

저는 캐나다 주소가 모두 & 인 미국에서 일하고 있습니다. 우리는 캐나다에서 문서와 코드를 작성할 때 캐나다 철자법 (영국 영어와 매우 유사 함)을 사용하며 미국에서 사용되는 것에 대해서는 철자법을 사용합니다.

일부 항목은 테두리가 있지만 맞춤법의 차이는 거의 문제가되지 않습니다. 미국인들이 캔디안과 영국식 영어에 대해 다른 철자법을 알지 못할 때도 흥미로운 대화를들을 수 있습니다. 때때로 그들은 그것으로 괜찮습니다, 다른 때는 "올바른"철자법으로 바꾸라고 주장합니다. 이는 날짜 형식 (캐나다의 dd/mm/yyyy 및 미국의 mm/dd/yyyy)에도 영향을 미칩니다.

어려움이있는 경우 일반적으로 캐나다의 사람들이 두 가지 변형에 익숙하므로 미국의 맞춤법을 사용합니다.

0

내가 영국 영어를 통해 미국을 선택했을 때 가장 많이 들었던 주된 이유는 영국 관객이 미국의 철자법에 맞 닿았을 때 그것이 미국의 응용 프로그램이라는 것을 깨닫기 때문입니다. 생각해. '... 이봐, 그게 틀렸어. 색깔이 색깔이 아니야.'

다른 사람들처럼 말하자면, 표준화하라. 그것을 집어 들고 붙잡아 라.

0

생각해 보지도 않고 영국 영어로 자연스럽게 나옵니다. 그러나 내부 절차를 개발하는 경우에는 별 문제가되지 않습니다. 공개적으로 사용되며 잠재 고객이 다국적 인 API를 만드는 경우 두 가지를 모두 구현하지 않는 이유는 무엇입니까?

0

나는 미국 영어를 선호합니다.

1

확실히 영어입니다.

1

먼저 미국에 있습니다. 현재 프로젝트에서는 항상 "색상"이지만 철자를 고를 수없는 단어는 "회색"과 "회색"입니다.

실제로 실제로 짜증납니다.

0

몇백 년을 돌아 보면, 많은 사람들이 그렇게 생각하는만큼, 미국과 아무 관계가 없다는 것을 알게 될 것입니다. 그 변화는 유럽인의 영향, 특히 프랑스 인에게서 비롯된다. 그 이전에 영어 단어 "color"는 실제로 "color"로 표기되었습니다.

중국 어린이의 절반이 영어에 대한 유럽의 영향력과 미국의 영어 이해력을 배우는 반면, 나머지 절반은 오늘날 영어로 사용하고있는 반면, 표준화하려는 노력은 쓸데 없을 것입니다.

언어가 문제라고 생각하면 600g의 대만 Kg를 고려해야합니다. 나는 그들이 그걸 어떻게 관리했는지 알아 내지 못했지만 항공기 요원으로 고용 된 적이 결코 없었 으면 좋겠다.

0

항상 모든 프로그래밍에 ko-ki를 사용합니다. 나는 그것이 영국 소설의 무거운 영향으로 인한 것 같아요.

그러나 동일한 기능을 내부적으로 호출하는 두 가지 API 세트 (en-US 용, en-GB 용)를 가질 수 없습니까? 이것은 헤더 파일을 부 풀릴 수 있습니다. 전 처리기 정의, 조건부 컴파일에 따라 달라질 수 있습니까? 당신은 C++을 사용하는 경우, 클라이언트 프로그래머가 ENGB 정의 여부를 아래 여부에 따라 ... 아래와 같이

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

을 뭔가를 할 수

#define ENGB 

그는 문화의 API를 사용할 수 있습니다 그가 좋아하는 것. 그런 사소한 목적을 위해 지나친 것일 수도 있지만, 중요한 것 같으면 왜 안되는지! :)

+2

미국의 철자법을 따르는 것이 모든 표준 API를 따르는 것이 낫습니다. 컴파일러는 정확한 철자법을 엄격하게 요구하므로 두 로케일에 대해 두 가지 API를 제공하는 것은 바람직하지 않습니다. 이 문서는 두 개의 다른 로케일을 처리 할 수 ​​있지만 API는 일관성이 있어야합니다.독일어, 프랑스어, 스페인어 등 다양한 언어로 다른 지역에서 동일한 API를 사용하더라도 문서가 현지 언어로 설명을 제공 할 수 있지만 메서드, 변수 등은 모두 원래 API 언어를 따릅니다. (대부분 미국 영어). – ADTC

1

식별자 이름에 대한 언어 선택은 관객 및 프레임 워크 또는 API가 개발 된 원래 언어와 관련된 모든 사항과 관련이 없습니다.

나는 많은 언어를 모르지만 미국 영어 이외의 것을 사용하는 하나의 언어는 생각할 수 없다.

철자가 다르기 때문에 미묘한 버그를 도입 할 때의 위험은 너무 큽니다.

함수 오버라이드는 쉽게 의사 과부하가 될 수 있습니다.

철자의 차이로 인해 구성 파일이 유효하지 않을 수 있습니다.

en-US와 en-GB를 모두 사용하여 동일한 개념 개체가 여러 클래스를 사용하여 정의 된 상황이 발생할 수 있습니다.

따라서 코드가 내부 용도로 사용 되든 외부 용도로 사용되는지에 관계없이 사용 된 철자는 항상 플랫폼/프레임 워크/컴파일러/API의 원래 언어와 일치해야합니다.