답변:
가능한 이름 지정 규칙 중 하나는 jQuery가 사용하는 이름 지정 체계와 유사한 것을 사용하는 것입니다. 보편적으로 채택되지는 않지만 꽤 일반적입니다.
product-name.plugin-ver.sion.filetype.js
여기서 product-name
+ plugin
쌍은 네임 스페이스 와 모듈을 나타낼 수도 있습니다 . version
하고는 filetype
일반적으로 선택 사항입니다.
filetype
파일의 내용과 관련이있을 수 있습니다. 종종 볼 수 있습니다 :
min
축소 된 파일custom
사용자 정의 빌드 또는 수정 된 파일예 :
jquery-1.4.2.min.js
jquery.plugin-0.1.js
myapp.invoice.js
자바 스크립트 파일은 CSS 파일이나 html 파일 또는 다른 유형의 파일과 비교하여 웹에서 실제로 고유하지 않으므로 Javascript 파일에 대한 특정 규칙을 알지 못합니다. 실수로 크로스 플랫폼 문제가 발생할 가능성을 낮추기 위해 할 수있는 몇 가지 "안전한"작업이 있습니다.
various-scripts.js
와 같이 공백이나 낙타 대신 여러 단어에 일종의 구분 기호를 사용하려면 안전하고 유용하며 일반적으로 사용되는 구분 기호가 하이픈입니다.JavaScript 파일의 이름을 지정하는 공식적이고 보편적 인 규칙 은 없습니다 .
다양한 옵션이 있습니다 :
scriptName.js
script-name.js
script_name.js
모든 유효한 명명 규칙은 그러나,이다 나는 (그것이 어떤 JS 작동하지만, jQuery를 플러그인 용) jQuery를이 명명 규칙을 제안 선호
jquery.pluginname.js
이 명명 규칙의 장점 은 추가되는 전역 네임 스페이스 오염을 명시 적으로 설명 한다는 것 입니다.
foo.js
추가 window.foo
foo.bar.js
추가 window.foo.bar
버전 관리를 생략했기 때문에 메이저 버전과 마이너 버전 사이에 마침표가 포함 된 전체 이름 뒤에 하이픈으로 구분해야합니다.
foo-1.2.1.js
foo-1.2.2.js
foo-2.1.24.js
The beauty to this naming convention is that it explicitly describes the global namespace pollution being added.
Foo
또는 myFoo
, 당신은 단순히 파일 이름을 것 Foo.js
또는 myFoo.js
각각?
링크의 질문은 파일 이름이 아니라 JavaScript 변수의 이름에 대해 이야기하므로 질문을하는 맥락에서 잊어 버리십시오.
파일명에 관해서는 순전히 선호와 취향의 문제입니다. camelCase 파일 이름을 처리 할 때처럼 Shift 키를 누르지 않아도되므로 하이픈으로 파일 이름을 지정하는 것이 좋습니다. 그리고 Windows와 Linux 파일 이름의 차이점에 대해 걱정할 필요가 없기 때문에 (Windows 파일 이름은 대소 문자를 구분하지 않고 XP를 통해 대소 문자를 구분하지 않습니다).
그래서 많은 사람들처럼 대답은 "의존적"또는 "그것은 당신에게 달려 있습니다."
따라야 할 규칙 중 하나는 선택한 규칙에서 일관성을 유지하는 것입니다.
나는 일반적으로 소문자로 하이픈을 선호하지만 아직 언급되지 않은 한 가지는 파일 이름이 단일 모듈의 이름이나 그 안에 포함 된 인스턴스화 가능한 함수의 이름과 정확히 일치하는 것이 좋은 경우가 있다는 것입니다.
예를 들어, var knockoutUtilityModule = function() {...}
knockoutUtilityModule.js라는 자체 파일 내에 선언 모듈이 선언되어 있지만 객관적으로 knockout-utility-module.js를 선호합니다.
마찬가지로 번들링 메커니즘을 사용하여 스크립트를 결합하고 있기 때문에 유지 관리를 위해 인스턴스화 가능한 함수 (템플릿 뷰 모델 등)를 자체 파일 C # 스타일로 각각 정의했습니다. 예를 들어 ProductDescriptorViewModel은 ProductDescriptorViewModel.js 내부에 존재합니다 (인스턴스 블 함수에는 대문자를 사용합니다).
MyPlugin
클래스에 갈 것입니다MyPlugin.js
. 는MenuItem
에 갈 것입니다 구성 요소 반작용MenuItem.js
. 다른 개발자는 'your-cool-module'을 요구 / 가져 오며 여러 기호를 사용하므로 이름을 지정하십시오cool-module.js
. –