프로젝트 배경
체크리스트를 읽는 코드가 파일을 못 읽었을 때 조용히 빈 목록을 돌려주고 있었고, 이어진 저장이 그 빈 목록을 정본과 사본 양쪽에 덮어써 항목 75개가 1개로 줄어든 적이 있습니다. 오류 메시지는 남지 않았습니다. 원인은 실패와 빈 값을 구분하지 않은 데 있었습니다. 그래서 읽고 쓰는 경로를 한 곳으로 모으고, 읽기에 실패하면 예외를 던져 호출한 쪽이 저장할 수 없게 막았습니다. 저장소가 공개된 자
프로젝트 성과
읽기 실패가 데이터 삭제로 번지는 경로 차단
읽기 실패와 빈 목록을 구분해 실패 시 저장을 막고, 정본과 사본 두 벌 보관으로 되살릴 수 있게 했습니다. 이후 같은 방식의 소실은 발생하지 않았습니다.
핵심 기능
진행 단계
읽기·쓰기 경로 단일화
2026.07
여러 곳에 흩어져 있던 읽기와 저장을 한 모듈로 모으고, 실패와 빈 값을 다른 결과로 구분하도록 규칙을 정했습니다.
프로젝트 상세
여러 곳에서 동시에 고치는 업무 체크리스트가 한 번의 읽기 실패로 통째로 지워지지 않도록 만든 저장 구조와 확인 화면입니다. 핵심은 「파일을 못 읽었다」와 「읽었더니 비어 있다」를 절대 같은 값으로 다루지 않는 것입니다. 못 읽었을 때는 빈 목록을 돌려주지 않고 저장 자체를 막아, 잘못된 빈 값이 기존 항목을 덮어쓰지 못하게 했습니다. 사람이 직접 비운 경우만 빈 상태로 저장됩니다. 보관은 두 벌입







