본문 바로가기
Programming

jQuery 유지보수성과 재사용성

by 나무수피아는 지식의 가지를 뻗어가는 공간입니다. 2025. 10. 14.
반응형

🧩 유지보수 가능한 jQuery 코드 구조

jQuery로 만든 프로젝트는 작아 보이지만 기능이 늘어날수록 점점 복잡해지고 스파게티 코드가 되기 쉽습니다.
이 강좌에서는 유지보수성과 재사용성을 높이기 위한 jQuery 코드 구조화 방법을 배워봅니다.

📁 1. 파일 구조 분리

HTML, CSS, JS는 각자 다른 파일로 나누어 관리하세요.

project/
 ├ index.html
 ├ css/
 │   └ style.css
 └ js/
     ├ app.js
     └ modules/
         ├ todo.js
         └ utils.js
  

📦 2. 네임스페이스 패턴

global 객체 오염을 막기 위해 네임스페이스로 감쌉니다.

// app.js
var MyApp = MyApp || {};

MyApp.todo = {
  init: function () {
    this.bindEvents();
  },
  bindEvents: function () {
    $('#addBtn').on('click', this.addItem);
  },
  addItem: function () {
    const value = $('#todoInput').val();
    if (value) {
      $('#todoList').append(`<li>${value}</li>`);
    }
  }
};

$(function () {
  MyApp.todo.init();
});
  

이런 방식은 여러 모듈을 네임스페이스에 묶어 관리하기 좋습니다.

🔁 3. 이벤트 위임

동적으로 생성되는 요소를 다룰 땐 이벤트 위임을 사용하세요.

$('#todoList').on('click', 'li', function () {
  $(this).toggleClass('done');
});
  

장점: 나중에 추가된 항목에도 자동으로 이벤트가 적용됩니다.

📦 4. 모듈 분리

기능별로 js 파일을 분리하면 유지보수가 쉬워집니다.

// modules/utils.js
var MyApp = MyApp || {};
MyApp.utils = {
  isEmpty: function (val) {
    return !val || val.trim() === '';
  }
};
  
// app.js
$('#addBtn').on('click', function () {
  const val = $('#todoInput').val();
  if (MyApp.utils.isEmpty(val)) return;
  $('#todoList').append(`<li>${val}</li>`);
});
  

🧼 5. 초기화 패턴

초기화 코드를 정리하면 협업과 유지보수에 유리합니다.

MyApp.main = {
  init: function () {
    MyApp.todo.init();
    MyApp.chat?.init(); // 다른 모듈과도 연동 가능
  }
};

$(function () {
  MyApp.main.init();
});
  

🧠 요약

  • 전역 변수 사용 최소화 – 네임스페이스 활용
  • 기능별 파일 분리 – 모듈화 구조 적용
  • 이벤트 위임 – 효율적인 이벤트 관리
  • 초기화 구조화 – 명확한 시작점 설정

위와 같은 구조를 적용하면 jQuery로 만든 프로젝트도 충분히 확장 가능하고 유지보수하기 쉬운 아키텍처를 가질 수 있습니다.

 

반응형

'Programming' 카테고리의 다른 글

React 소개  (59) 2025.10.16
jQuery API 통합 실전  (64) 2025.10.15
jQuery SPA(Single Page Application) 구축하기  (55) 2025.10.12
jQuery 이벤트 위임과 동적 요소 처리  (54) 2025.10.11
jQuery 성능 최적화  (56) 2025.10.10