실제 내 눈으로 본 사례임



- API 입력 받는 클래스 CommonSearch라고 이름 짓고 그 안에 필드 수천개 박아놓음. 모든 API 입력에 이거 가져다 씀

- 응답은 무조건 Map<String, > 또는 List<>

- 로직은 모두 쿼리 몰빵. 수천줄짜리 쿼리 한두개가 아님

- 유닛 테스트 0개, 커버리지 0%

- 모든 인증/인가처리 파라미터로 받고 API 개별로 처리함

- 컬렉션 등 제네릭들 전부 Raw type으로 사용함

- 모든 값 비교는 a.toString().equals(b.toString()) 형태로 만들어놓음

- 빌드 도구 없음 (필요한 라이브러리는 jar 폴더 하나에 몰아놓음. 의존성관리? 그딴거 없음)

- 배포 도구 없음 (손수 빌드 후 수동 배포)

- 모니터링/진단 도구 없음

- 조금이라도 애매하면 다 common 쳐박음. 덕분에 common mapper는 파일 하나가 5만라인 넘어감

- app에서 트랜잭션 처리하는법을 몰랐나봄. 트랜잭션 처리 필요한건 싹다 DB 프로시저 만들어서 박아놓음

- CVS 안씀. 작업한 코드 수동으로 acrodiff 써서 비교하고 합치고 앉아있음





SI 안겪어본놈들은 안믿겠지?ㅋㅋ


진짜 신기한데, 저래도 돌아는 감 ㄷㄷ
어떻게 보면 진짜 대단한 새끼들임