문제

JavaScript의 한 측면은 정보를 찾기가 어렵습니다. 케이싱 관행입니다. 케이싱 관행을 통해 케이스 스타일 (예 : 낙타 케이스, 파스칼 케이스 등)이 어떤 요소 (생성자, 개인 기능, 공공 기능)에 사용되어야합니다.

내가 들었던 유일한 규칙은 Yui Theatre의 Douglas Crockford 강의에서 나온 것입니다. 제작자는 대문자로 시작하는 유일한 기능이어야한다고 진술했습니다.

그 외에도 사람들이 자바 스크립트로 따르는 많은 케이스 표준이없는 것 같습니다.

JavaScript의 케이스 모범 사례를 알고있는 사람이 있습니까? 왜이를 사용하는 것이 합리적입니까?

또한 .js 파일로 케이스 스타일을 따르나요?

도움이 되었습니까?

해결책

나는 생성자의 경우 Pascalcase를 선호하고 다른 모든 것에는 Camelcase를 선호합니다. 그것이 JS Standard Library가 사용하는 스타일입니다 ... 지금까지 본 모든 JS 프레임 워크 :)

그리고 웹에서 제공 한 모든 파일에 대해 All_LowerCase 명명 컨벤션을 사용합니다. 거기 있습니다 약간 사례에 민감한 파일 시스템이 있습니다.

다른 팁

핵심 언어는 생성자 (예 : 오브젝트, 날짜, 번호, regexp) 및 Camelcase (예 : Something.toString (), Quantity.Valueof (), regexp.ignorecase)에 대한 초기 캡을 사용합니다. 이 협약은 DOM 사양 및 구현 (예 : htmlelement.setattribute ())에서도 따릅니다. 따라서 동일한 컨벤션을 채택하는 것이 가장 의미가 있거나 다음과 같은 끔찍한 스타일의 스타일로 마무리합니다.

var number_of_fish_requested = document.getElementById("fish").value;
var fish_count = parseInt(number_of_fish_requested, 10);

유형뿐만 아니라 훨씬 더 중요한 것은 읽는 것뿐만 아니라 완전히 혼란스러워집니다.

(처음에 작성하는 것보다 코드를 읽거나 디버깅하거나 수정하려고하는 데 더 많은 시간을 소비합니다.)

내가 지금까지 본 것은 매우 다양한 케이싱 표준입니다.

내가 염려하는 한, 나는 JavaScript 코드를 작성하기 위해 C# 스타일을 사용합니다. 나는 클래스를 많이 사용합니다 (클래스로서 함수는 일반적으로 독립적 인 기능이 없습니다.) 따라서 클래스 이름, 공개 방법, 속성 및 모든 글로벌 변수 및 인수, 로컬 변수 및 개인 기능에 Pascalcase를 사용합니다. 이것은 어떻게 든 내 공통 환경을 반영하여 가변 범위를 구별하는 데 도움이됩니다. 또한 클래스 함수를 내 클래스 이름 (classname.js, classname.min.js)과 동일한 이름의 별도 파일로 유지하는 경향이 있습니다.

이것은 나의 접근법에 관한 것이었다.

또한 Java 프로그래머는 Java 규칙 (및 작문 스타일이 Java 언어와 비슷합니다)을 따르는 것을 알았습니다. Ruby on Rails 프로그래머는 자신의 이름 지정 표준을 따릅니다. underscore_separated_var_name.

또한, 당신이 언급했듯이, Pascalcase는 Linux/Open Source 커뮤니티 및 Microsoft 개발자 (jQuery, Knockout.js, JSJAC 등)와 같은 다른 커뮤니티에서 나오는 매우 인기있는 프레임 워크에서 Pascalcase를 많이 사용하는 경향이 있습니다.

JS와 관련하여 이러한 방법 중 어느 것도 잘못되었거나 옳지 않다는 점에 주목해야합니다. 이름 지정 규칙과 파일 구조화의 주요 목적은 가독성입니다. 당신이 일관성이 있다면, 당신은 미래에 당신과 동료 개발자가 당신의 코드를 빠르게 이해하고 얻을 것입니다.

나는 생성자를 제외한 모든 것에 대해 Camelcase를 선호합니다. 그 이유 (그리고 이것이 Crockford 씨가 이것을 제안한 이유라고 생각합니다) Java와 같은 다른 언어에서는 컨벤션이 당신의 수업을 활용하기 때문에 생성자가 사용하는 것입니다.

그것이 나의 $ 0.02입니다.

밑줄 분리기가있는 모든 소문자는 읽기가 가장 쉽습니다. 자연어를 따릅니다. "최고"는 당신을 거룩한 전쟁에 데려 갈 것입니다. 현실은 다른 디자인 문제만큼 중요하지 않지만 편광하기 쉬운 주제입니다.

ALongButNotReallyReadableIdentifier
an_even_longer_but_completely_readable_identifier

받아 들여진 답변은 사실이지만 몇 가지 예외가 있습니다. window.json 및 window.xmlhttprequest에서 용어는 대문자입니다.

또한 대부분의 사람들은 JavaScript의 열거 형 객체와 자본화 된 값에 Pascalcase를 사용합니다. 때때로 네임 스페이스는 파스칼 케이스에서도 수행됩니다.

예 : MyCompany.web.ui.mycomponent.themeoption = {Black : 0, Silver : 1, Blue : 2}

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top