새 기능 추가 절차
- 요구 사항 분석: 어떤 기능이 필요한지, 기존 구조에서 어느 레이어에 속하는지 분석합니다.
- 코어 vs 플러그인 판단: 기능이 모든 사용자에게 공통적으로 필요하면 코어 수정이 적합하지만, 선택적 기능이라면 플러그인 형태로 구현하는 것이 좋습니다.
- 의존성 파악: 기능이 사용하는 데이터와 API, UI 요소를 파악하고 의존성을 명확히 합니다.
- 구현 및 테스트: 코드 작성 후 다양한 시나리오에서 테스트를 수행합니다.
코드 구조 제안
새 기능을 플러그인으로 구현할 경우, 플러그인 클래스에 명확한 책임을 부여하고 필요에 따라 util 함수를 js/utils.js에 추가합니다. UI 요소는 스킨과 테마 파일에서 스타일을 정의해 재사용성을 높입니다.
새 기능을 넣기 전에 먼저 할 질문
새 기능 추가 요청이 들어오면 바로 구현으로 들어가기보다, 먼저 “이 기능은 플러그인으로 충분한가”, “저장 포맷이 바뀌는가”, “보기 화면까지 함께 바뀌는가”, “외부 서비스 의존성이 생기는가”를 따져야 합니다. 이 네 가지 질문을 미리 정리하면 나중에 코어 침범을 줄이고 릴리스 리스크를 크게 낮출 수 있습니다.
권장 문서화 절차
새 기능을 넣었다면 코드보다 먼저 문서를 갱신해야 유지보수가 쉬워집니다. 최소한 기능 개요, 관련 파일, 설정 위치, 테스트 포인트, 역호환성 여부, 운영 주의사항까지는 같은 커밋 안에서 정리하는 것을 권장합니다.