카멜
카멜(Caml)은 다중 패러다임, 범용 프로그래밍 언어이다. 1985년 컴퓨터과학 및 응용수학 분야를 연구하고 있는 프랑스 연구소 인리아(INRIA)에 의해 개발 배포되었다.
낙타의 경우 (같은 양식 낙타 표기법 ) 문구의 중간에 각 단어 나 약어가 시작되도록 문구를 작성하는 방법이다. 대문자 사이에 공백 또는 구두점. 일반적인 예로는 " iPhone "및 " eBay "가 있고 "johnSmith"와 같은 온라인 사용자 이름에 사용되며 광고와 같이 여러 단어로 된 도메인 이름을 보다 읽기 쉽게 만들 수도 있다.
낙타 케이스는 종종 컴퓨터 프로그래밍에서 변수 이름으로 사용된다. 일부 프로그래밍 스타일은 첫 글자가 대문자 인 낙타 경우를 선호하지만 다른 경우는 그렇지 않다. 명확화를 위해,이 문서는 두 가지 대안 통화 상부 낙 케이스를 ( 초기 대문자, 파스칼 경우 ) 및 하부 낙 케이스 ( 초기 소문자, ) . 일부 사람들과 조직, 특히 Microsoft 는 낙타 경우 라는 용어를 소문자 낙타 경우 에만 사용하고. 파스칼 케이스 는 상단 낙타 케이스 만 의미한다.
Camel case는 모든 단어를 대문자로 표시하지만 단어 사이에 공백을 유지하는 Title Case 와 대문자를 사용하여 대문자를 사용하여 "predniSONE"및 "predniSOLONE"과 같은 유사 단어 간의 차이점을 강조하는 Tall Man 문자 와 다르다. 낙타 케이스는 또한 소문자 (때로는 첫 문자가 대문자로 표시됨)에 산재 된 밑줄 을 사용하는 뱀 케이스 와 다르다.; "위 낙타 케이스"와 "뱀 케이스"의 조합을 "다윈 케이스"라고 한다. Darwin 사례는 "Sample_Type"에서와 같이 대문자가 대문자 인 단어 사이에 밑줄 을 사용 한다.
개요
- 카멜(Caml)은 "Categorical Abstract Machine Language"(범주형 추상 기계 언어)의 약자로, 프로그램의 안전과 신뢰성을 최우선으로 두고 설계된 범용 프로그래밍 언어이다. 표현력이 뛰어나면 배우기 어렵다는 보통의 언어와 다르게, 카멜은 표현력이 뛰어나면서 동시에 배우고 사용하기 쉽다. 카멜은 기능적, 명령형 및 객체 지향 프로그래밍 스타일을 지원한다.[1]
- 대문자로 된 단어를 통합하거나 단어의 하나 이상의 구성 요소를 대문자로하여 만든 새 텍스트 기호이며 이러한 식별자의 모양은 낙타의 개요와 유사하다.
카멜의 코딩 스타일이라 함은 기본적으로 소스 코드를 작성할 때의 불문율적인 편집 규약에 가깝다. 이런 것 때문에, 거대한 프로젝트는 미리 지켜야 할 코딩 스타일을 정의해놓기까지 한다. 여러 단어를 연달아 사용할 때 각 단어의 첫 글자를 대문자로 적되, 맨 앞에 오는 글자는 소문자로 표기한다. 코딩 이후 모습이 낙타의 등에 있는 혹과 같다고 하여 카멜(Camel) 표기법이라고 부른다. 예로는 camelVariable과 같은 식으로 쓴다. Java의 권장 표기법이다.[3]
특징
- 구조체와 클래스 이름의 첫 글자는 대문자로, 나머지 글자는 소문자로 작성한다.
- 2개 이상의 복합 단어는 단어별로 끊어 첫 글자는 대문자로, 나머지는 소문자로 작성한다.
- 이미 축약된 약어는 모두 대문자로 작성 가능하다.
- 프로퍼티나 메소드를 선언할 때는 소문자로 시작한다.
- 언더바( _ ) 로 단어를 연결하는 방식은 지양한다.
(참고: 객체 내에 사용되는 프로퍼티, 메소드 이름을 쓸 때에는 첫 글자를 소문자로 쓰며 단어 구분만 대문자로 표시해준다고 한다. 예를 들어, personName 이런 식으로 쓴다.[4])
종류
- 상단 낙타 케이스 - PascalCase : ThisIsAnExample. thisIsNotAnExample이다.
- 낮은 낙타 경우 - thisIsAnExample. 티hisIsNotAnExample이다.
활용
단어 조합
- 일상적인 텍스트를 정기적으로 철자하는 규칙에서 중간 대문자를 사용하는 것은 드물지만 일부 언어에서는 두 단어 나 세그먼트가 결합 될 때 발생하는 특정 문제에 대한 해결책으로 사용 됐다.
- 이탈리아어로 대명사는 동사에 접미사 할 수 있으며 두 번째 인칭 대명사의 존경 형태가 대문자로되어 있기 때문에 이 같은 문장을 생성 할 수 있다.
- 이 규약은 또한 몇 가지 서면 Bantu 언어 (예 : kiSwahili , " 스와힐리어 언어 "; isiZulu , " Zulu 언어 ")와 멕시코의 여러 원주민 언어 (예 : Nahuatl , Totonacan , Mixe–Zoque , 일부 Oto-Manguean 언어 ) 에서도 사용 된다.
-네덜란드 의 소리를 나타내는 두 글자의 활용 (IJ)를 두 문자 I 및 문자 J는 COUNTRYNAME의 예를 들면, IJsland이다.
- 영어로, 중간 대문자는 일반적으로 스코틀랜드 또는 아일랜드어 "Mac-"또는 "Mc-"이름에서만 발견된다.
예를 들어 MacDonald, McDonald 및 Macdonald 는 같은 이름의 일반적인 철자 변형이며 Anglo-Norman "Fitz- 예를 들어, FitzGerald 와 Fitzgerald 가 모두 있다.
음역
- 다른 대본으로 작성된 언어의 학문적 음역에서도 비슷한 상황에서 중간 수도가 사용된다.
예를 들어 음역 히브리어 에서 ha ' I vri 는 "히브리인"또는 "유대인"을 의미 하고 b'Yerushalayim 은 "예루살렘"을 의미한다. 티베트어 와 같은 적절한 이름 rLobsang 은 "R"은 같은 기능 원래 스크립트에 접두사 문자 모양의 약자 톤 마커가 아닌 일반 문자이다. 또 다른 예는 ts I urku 이며, 중세 방어 타워 의 특징 인 캡핑 스톤에 대한 체첸 용어 의 라틴 전사리다. Chechenia 와 Ingushetia ; 여기서 대문자 " I " 는 "i"로 표기된 것과는 다른 음소 를 나타낸다.
약어
- 중간 대문자는 전통적으로 약어로 사용되는데, 예를 들어 학술 제목 PhD 또는 BSc와 같이 단어를 완전히 쓰면 대문자가 사용된다.
독일어에서 법령의 이름은 포함 된 대문자를 사용하여 축약된다. (예 : 형사법의 경우 StGB (Strafgesetzbuch), 특허법의 PatG (Patentgesetz), 연방 헌법 재판소의 BVerfG (Bundesverfassungsgericht) ) 에 대한 유한 책임을 가진 회사 . 이러한 맥락에서, 예를 들어 Teilzeit- und Befristungsgesetz를위한 TzBfG에 3 개 이상의 "CamelCase"자본이있을 수있다 (파트 타임 및 기간제 활동). 프랑스어에서는 OuLiPo 와 같은 낙타 대소 문자 (1960)은 초기주의의 대안으로 한동안 선호되었다.
- 낙타 경우는 종종 두 글자는 예를 들어 원래 알파벳의 문자 하나, 표현하기 위해 요구 될 수있다 알파벳에 이니셜을 음역하는 데 사용됩니다 DShK 에서 키릴 ДШК이다.
강점
강력한 타입 시스템 parametric polymorphism을 구비하고 있다. 때문에 프로그램 작성에 있어서 용이한 부분이 많다. 또 사용자 정의 대수 데이터 유형 및 패턴이 매칭되며, 자동으로 메모리를 관리하는 기능도 제공한다. 독립 실행형 응용프로그램의 개별 컴파일이 가능하고, 정교한 모듈 시스템을 갖추고 있어서 프로그래머에게 편의성을 제공한다. 표현형 객체 지향 계층 언어이며, 효율적인 네이티브 코드 컴파일러를 제공한다.
역사
- 카멜 언어는 1987년 프랑스 과학 기술원 인리아(INRIA)의 연구원에 의해 처음 만들어졌다. 이후 카멜에 객체지향, 모듈 시스템 등을 추가한 오카멜(OCaml)이 출시되었고, 카멜 언어를 경량화시켜 구현한 카멜 라이트(Caml Light)도 만들었으나 현재는 일반적으로 오카멜만 사용하고 있다.
- 1970 년대 초 스몰 토크 이전의 BCPL 코드 (예 : BBN)에서 이러한 스타일의 단어 분리를 기억한다고 생각한다. -ChrisRyland
(상위) CamelCase 의 최초 상업적 예 는 1950 년대 " CinemaScope "필름 프로젝션 시스템이다. [6]
각주
참고자료
- 카멜 공식 홈페이지, 〈The Caml Language〉
- "Caml", Wikipedia
- The Caml Language, 〈Journal Articles〉2006-10-6
- 최준원, 강동옥, 〈OCaml Tutorial : 2013년 가을 프로그래밍 언어〉, 서울대학교 프로그래밍연구실, 2013년 가을
- 위키백과, 〈코딩스타일〉
- sibalja , 〈카멜표기법이란 무엇인가?〉, 프로그래밍 관련, 2016-05-16
- 위키 , 〈낙타 케이스〉
같이 보기