• 레거시 코드를 대하며 드는 생각.
    끄적끄적 생각정리 2022. 11. 12. 20:33
    반응형

    기능을 예측하지 말자 

     ERD를 보고 시스템을 이해할 수 있어야 한다. 1:1 관계로 생성이 가능한 테이블을 N:M관계가 될 가능성을 염두하고, 매핑 테이블을 만들어 둔다면, ERD를 보고 시스템을 이해할 수 없다. 추가로 개발자의 코드까지 난해해지는 것은 덤이다.

    관습을 따르지 말자

     기존 시스템의 creater_id 컬럼이 VARCHAR 타입으로 만들어져 있다면, 새로 생성한 테이블의 경우 알맞은 타입의 컬럼으로 만들어주자. creater_id가 VARCHAR라면, 이 컬럼에는 문자열 id가 들어가있는지 username이 들어가있는지 상상하기에 따라 달라진다. creater_id는 숫자형어야 맞는 것이다.

     

    제거 된 기능은 즉시 삭제하자

     제거 된 기능의 테이블, 코드는 즉시 삭제하자, 기능제거를 담당한 사람이 아니면, 그 기능의 코드는 제거 될 수가 없다. 만들어둔 기능이 아까워서 나중에 사용될 까봐 놔둔다면, 추가 기능과 제거 된 기능이 섞인 코드가 완성 될 것이다. 정 아깝다면 github의 커밋 로그를 좀 더 효율적으로 남겨서 나중에 다시 사용될 때 커밋 로그를 보고 복원할 수 있도록 하자.

    반응형

    댓글

Designed by Tistory.