dyway

I'm very well : Life of an ordinary programmer

상태 변경과 유효성 검사

서로 다른 시스템에서 서로 다른 유저가 하나의 데이터를 보며 상태를 변경할 때에는 상태를 변경하려는 액션에 앞서서 현재 상태가 다음 상태로 변경이 가능한지 여부를 잘 따져야 한다. 너무도 당연한 건데, 인수인계를 한 후 운영을 하며 이런 유효성 검사 로직이 빠져있단 걸 알았지만, 지금까지 문제가 발생하지 않아 신경쓰지 않다가 최근 프로세스 변경이 되며 발생한 데이터에 문제가 발견되어 급하게 반영했다.

A – 데이터 등록 상태
B – 데이터 수정되면 안 되는 상태

다른 시스템에서 나와 같은 A상태의 데이터를 보던 유저가 B상태로 변경한 것을 모르고, 내가 데이터를 수정했을 경우 문제가 발생하기 때문에, 상태 변경 전에 변경가능한 상태인지 체크. 동료가 구현해 놓은 걸 참고하여 로직을 추가했다. 상태값을 나타내는 Enum클래스에 Set으로 변경가능한 상태를 넣어두고, 상태 변경 전에 Set.contains로 변경 가능한 상태 여부를 확인하니 간단하게 처리 가능하더라.

광고

Written by dyway

2014년 10월 28일 , 시간: 7:27 오후

내 경험에 게시됨

Tagged with

%d 블로거가 이것을 좋아합니다: