오래 전에 워크 플로 대기열에 이미지를 추가 한 후 사용자가 이미지를 "수락"할 수있는 기능을 추가했습니다. 우리는 잘못된 용어를 사용했으며 사용자는 실제로 이미지를 "승인"했습니다.
인터페이스에서 승인 승인을 변경하는 것은 쉽습니다. 한 단어 만 바꾸면됩니다. 그러나 CSS 클래스 이름에서 데이터베이스 값에 이르기까지 "accept"라는 단어로 모든 레이어를 프로그래밍했습니다.
- 버튼을 녹색으로 바꾸는 CSS 클래스 : ".accepted";
- DOM 노드에서 클래스 속성을 확인하고 바인딩하는 모델 메소드 : "isAccepted";
- JavaScript 상태 속성 : "검토되지 않음", "수락 됨"및 "게시 됨"인 배열.
- MySQL 상태 열 : "검토되지 않음", "수락 됨"및 "게시 됨"이있는 ENUM;
- 시험 명;
대부분의 승인 승인을 대체하는 것은 사소한 일입니다 (특히 테스트가있을 때). 특히 배포와 동기화해야하기 때문에 데이터를 마이그레이션하는 것이 조금 더 어렵습니다.
이 특정 사례는 간단하지만 경력 기간 동안 비슷하지만 더 복잡한 사례에 직면했습니다. 파일 이름이 바뀌고 수십 대의 서버에서 배포가 발생하거나 프록시 캐싱, memcached 및 mysql이 관련된 경우.
인터페이스를 제외한 다른 모든 계층에 "수락"을 남겨 두는 것은 좋지 않은 생각입니다. 팀에 합류하는 새로운 프로그래머는이 결정을 이끌어 낸 역사적 이유를 알지 못할 수 있습니다. 수락-> 승인하는 경우 의미 측면에서 가까운 단어입니다. "관리 다음 상태 회의를 위해 대기 중"으로 이름이 바뀌 었습니다. 그리고 우리가 여기 저기 타협하면 몇 번의 반복으로 사용자 인터페이스 개념이 시스템 내부와 아무런 관련이 없으며 출력의 절반이 내부와 연결되어 있지 않은 시스템에서 작업하고 싶지 않습니다.
따라서 필요할 때 항상 모든 이름을 변경합니까? 이것이 당신에게 일어 났고, 당신이 그 절충이 가치가 없다고 결정했다면, 그것은 당신을 물기 위해 다시 왔습니까? 코드 주석 또는 개발자 문서가이 문제를 피하기에 충분합니까?