Jihan Kim 2013-05-09 8b6acc8 change view filename(HIVE-211), adjust project logo size(HIVE-213), remove unused files, fix filter markup on milestone list UNIX

자바스크립트 모듈 작성 가이드

본 Markdown 문서는 http://markdownlivepreview.com/ 에서 정확한 모습을 확인할 수 있음


명명 규칙

  • NamingGuide.md 참조

폴더 구조

  • javascripts/lib

    jQuery를 포함한 프레임워크, 라이브러리 파일

  • javascripts/common

    공통 코드, UI Components.
    함수 또는 객체로 작성한다

  • javascripts/service

    각 페이지에 사용되는 자바스크립트 모듈.
    함수로 작성한다

  • javascripts/deprecated

    사용되지 않는 파일이지만 개발 과정에서 참조하기 위해 임시로 보존하는 코드

코드 구조

  • hive.CodeTemplate.js 참조
  • 초기화 함수는 _init() 으로 통일하고, 이 함수 내에서 _initVar, _initElement, _attachEvent 를 호출한다.
    각 함수의 순서는 필요에 따라 배치할 수 있고 굳이 해당 함수가 필요치 않는 경우 작성하지 않아도 무방하다.
  • 모듈 내에서 사용되는 변수는 htVar의 멤버 변수로 할당하며 초기화 단계에서 수행하는 함수명은 _initVar() 으로 한다
  • 모듈 내에서 사용되는 HTML Element 변수는 htElement 의 멤버 변수로 할당하며 초기화 단계에서 수행하는 함수명은 _initElement() 로 한다
  • 특별히 제약이 없는 한 이벤트 핸들러 지정은 _attachEvent 에서 일괄적으로 수행하도록 구성한다
  • UI 컴포넌트 등 공통 코드는 함수, 객체 등 명명 규칙을 준수한다는 전제하에 코드 구조는 자유롭게 구성해도 무방하다

$hive.loadModule 사용법

  • 만약 hive.module.Name 이라는 이름의 모듈을 정의한 경우 아래와 같다
  • 첫번째 인자: hive. 을 제외한 모듈 이름
  • 두번째 인자: 해당 모듈 초기화 함수에 제공될 옵션 객체(Object)
  $hive.loadModule("module.Name", {
       "sOption": "Option Value"
   });
  • 현재 페이지 내에서 해당 모듈을 찾을 수 없는 경우, 즉 명시적으로