과거에 하려고 했던 내용. (현재 있는 회사에서 한 것이 아님.)

계획했던 내용에 비해서 했던 것은 미미하지만. 나중에 다시 만날 수 있을 것 같아서 정리.



Part #1

- Legacy 시스템 유지보수를 맡게 되면서..

-- 시스템의 API Flow & History을 아는 이가 없음
    (API 나 Code의 Aliveness를 몰라 어떻게 해야 할지)

-- 대략 Dizzy 코드 / 보안 취약 

-- 시스템의 변경시의 Side Effect를 모름 (작은 수정에도 모든 API 테스트)

-- 시스템의 xUnit / 환경 전무

-- 형상관리 및 브랜치 관리 전무

-- 배포툴도 없음 (ant + ftp)

-- Document는 반영이 되지 않아 쓸모없고
-- 구전(口傳) 코딩 / 상상(Imagination) 코딩

-- 기존에 알던 사람들이 부정적


- 안좋은 Legacy 시스템은 정치적으로도 먼가 꼬여 있다. 




Part #2


- 형상 관리 정책 수정

- 개발 환경 구축

- Business Code 이해 & History 파악

- Dead Code 는 무조건 삭제 

- Code Refactoring

- Test Code (xUnit) 추가

- API 테스트 코드 추가 (Acceptance Test) 



Part #3

- 개발자 테스트 환경

-- 아키텍처

   (option 1) - vagrant + ansible 

   (option 2) - local 설치 + ansible

-- mockup : nodejs, ruby sinatra

-- 이미지를 만들어 Webdav 서버에 올려 개발자들이나 QA에 공유

-- acceptance test : rspec or http unit or 언어별로 알아서 api 콜 



Posted by '김용환'
,