#리팩터링
글 4편
-
죽은 파일이 살아있는 파일보다 최신이었다
감사의 목적은 번들 축소가 아니었다 흔한 동기(번들 크기, 파일 수)가 아님 목적: “죽은 코드를 살아있다고 착각하고 거기에 작업하는 사고” 방지 계기: 그 사고가 이미 여러 번 발생 조사 결과: 2주 동안 같은 패턴 5회 반복 원인: git log가 거짓말을 한다 가장 인상적인 ...
-
같은 버그를 두 번 고친 날, V1/V2 이중 스택을 정리하기로 했다
계기: 같은 버그를 양쪽에서 따로 고쳤다 한 화면에 V1·V2 두 벌의 구현 공존 신규 작성 화면 — V2 사용 월 업데이트 화면 — V1 사용 카테고리 상태 desync 버그 발생 시의 대응: V1 쪽 수정 → 며칠 뒤 V2 쪽에서 재수정 같은 원인·같은 증상·같은 수정의 2회 ...
-
엑셀 라이브러리가 두 개였다 — xlsx에서 exceljs로 통일하기
문제 한 프로젝트 안에서 엑셀을 내보내는 경로가 두 개였고, 각각 다른 라이브러리를 사용 중. 경로 라이브러리 헤더 스타일 AG Grid export xlsx 불가 리포트 export exceljs 적용됨 xlsx(SheetJS) 커뮤니티 버전의 제약 — 셀 스타일 미지원 결과 —...
-
depth < 10 방어 코드가 버그를 감추고 있었다
문제의 코드 대상: 계층형 조직 트리 서비스의 조상 조직 ID 수집 메서드 원래 구현의 핵심 — 아래 한 줄 while (currentId != null && depth < 10) { ancestorIds.add(0, currentId); Organization...