문제

우리는 Java를 기반으로하는 CMS를 가지고 있으며 서버 측 JS 용 Mozilla Rhino가 있습니다. 현재 JS 코드 기반은 작지만 성장하고 있습니다. 너무 늦기 전에 코드는 끔찍한 혼란이되었으며 모범 사례와 코딩 스타일을 소개하고 싶습니다.

분명히 이름 공간 제어는 매우 중요합니다. 그러나 다른 모범 사례는 어떻습니까? 특히 Java 프로그래머의 경우?

도움이 되었습니까?

해결책

다음은 최전선의 몇 가지 팁입니다.

  • Java와 마찬가지로 기능에 Doxygen/JSDOC 스타일로 docBlocks를 사용하십시오.
  • 단위 테스트. CI 서버에서도 자동으로 실행할 수 있으므로 개인적으로 JStestDriver를 좋아합니다.
  • jslint를 사용하십시오. 잘못된 코드에 대해 NitPick됩니다
  • Google Closure 컴파일러 사용을 고려하십시오. JSLINT와 같은 코드에 대해 NITPICK이지만 DOC 블록이 열악한 것을 발견하는 데 도움이 될 수 있습니다.
  • 팀의 모든 사람이 폐쇄가 어떻게 작동하는지 이해하도록하십시오. 그렇지 않으면 두통으로 이어집니다
  • 언급 한 바와 같이, 코드가 다른 JS 라이브러리와 잘 작동하기를 원하는 경우 네임 스페이스가 중요합니다 (var myns = myns || {};)
  • 개인적으로 나는 수업 등과 같은 OOP 도우미를 제공하는 라이브러리를 사용합니다. 프로토 타입 상속을 사용할 수 있지만 종종 그렇게 까다로워집니다.

다른 팁

나는 볼 것이다 commonjs (이전 ServerJS). 진행중인 작업이지만 여러 구현이있는 표준화 된 모듈 시스템이 있습니다. 이미 CommonJS 사양에 기록 된 유용한 라이브러리가 이미 있습니다. Narghal.

Douglas Crockford가 좋아하는 것처럼 JavaScript는 세계에서 가장 오해 된 프로그래밍 언어입니다. 많은 사람들이 그것을 모르지만 오른쪽 JavaScript로 코드하는 방법. 좋은 JavaScript를 작성하는 방법을 이해하기 전에 Java 개발자가 코딩을 시작하게한다면 심각한 문제가 발생할 것입니다.

가장 먼저해야 할 일은 모든 사람이 Mozilla의 훌륭한 기사, JavaScript로의 재 도입을 읽도록하는 것입니다.https://developer.mozilla.org/en/a_re-introduction_to_javaScript). JavaScript의 가장 큰 문제 중 하나는 가장 일반적인 작업을 수행하는 방법이 여러 가지가 있으며이 기사는 사람들을 같은 페이지에 데려 가야한다는 것입니다. 또 다른 필수 참조는 JavaScript : The Good Parts를 포함한 Douglas Crockford의 작품입니다.

Java/C ++ 프로그래머를 많이 얻는 또 다른 것은 JavaScript가 사용한다는 것입니다. 기능 스코프는 블록 범위가 아닙니다. 이것은 매우 까다로운 문제를 일으킬 수 있습니다. JavaScript의 Binding이라는 목록 에서이 문제에 대한 훌륭한 기사가 있습니다.


위의 자원에서 이야기하는 주요 문제를 요약하기 위해 배우는 가장 중요한 차이점은 다음과 같습니다.

  • 프로토 타입 상속을 사용하여 객체 지향 코드를 작성하는 방법 (vs.class 기반 상속)
  • 클로저와 람다를 사용하는 방법
  • 동적 객체의 힘을 활용하는 방법
  • 함수-스코프 코드를 작성하는 방법

Java에는 JS 엔진이 있으므로 JS 코드에 대한 단위 테스트를 작성하는 습관이됩니다. 코딩 스타일을 선택하고 활발하게 적용하십시오. 가능하면 도구를 사용하여 코드가 코딩 스타일에 제출되는지 확인하십시오.

아래는 도움이 될 수있는 몇 가지 링크입니다.

자바 스크립트 모범 사례

JavaScript 모범 사례 PDF 파일

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