한 프로젝트 안쪽의 중복코드가 아닌, 프로젝트들 사이의 중복코드는 어떻게 체크 하나요?

2015-12-25 09:04

세미나 잘 들었습니다 :)

MSA 관련해서 질문이 있는데요, 발표 때 중복코드가 줄어들었다고 하셨었는데 아무래도 수십개의 팀이 각기 프로젝트를 진행하면, 팀간에는 비슷한 일을 중복해서 처리하는 코드가 생기지 않을까 싶은데요 한 프로젝트 안쪽의 중복코드가 아닌, 프로젝트들 사이의 중복코드는 어떻게 체크하고 계시는지 궁금합니다.

3개의 의견 from SLiPP

2015-12-14 12:34

@kall 프로젝트 간의 중복코드를 체크하지는 않습니다. 이미 microservice로 된상황해서 각 서비스별로 중복코드가 있더라도 서로 영향을 미치지 않기 때문입니다. 다만 util성같은 부분은 공통 코드로 관리 하고 있습니다. 어차피 중복코드가 있더라도 해당 프로젝트의 품질에는 영향을 미치지않으니까요?(즉, 수정을 하더라도 자신의 도메인에만 영향을 미치게되죠.) 예를 들자면 다음의 코드와 네이버의 코드가 중복이 있다고 하더라도 해당 부분이 영향을 주지않는 경우와 유사하지 않을까? 합니다.

2015-12-16 11:34

@jhindhal.jhang 답변 감사합니다. 추가로 궁금한점이 있는데요.. 서비스간의 코드 중복을 어느정도 허용하고 간다면, 팀간에 흔히 말하는 '바퀴를 두번 만드는 일'도 생기지 않을까 싶은데요 그런경우가 덜 발생하도록하는 팀간 커뮤니케이션 방법이 있을까요?(팀간 지식공유에 가까운일일 듯 합니다)

2015-12-17 12:11

@kall 솔직히 공통코드를 사용하게 하는건 상당히 힘든 부분인듯 합니다. 제 경험상으로는 간단한 String, DateUtil...같은 부분과 REST API 같은 모듈은 많이들 사용하지만 그 외에 공통 framework를 모든팀이 사용하도록 강제할 수 있는 방법은 솔직히 현실적으로 힘들듯 보입니다. 실제로 제가 생각하기에 저런 Util성을 제외하고는 재사용되는 코드가 많지는 않은듯 합니다. - 대부분은 Spring에서 기능을 모두 제공 하기 때문에 그외에는 대부분이 비지니스라고 생각 합니다.

그외에 대부분의 회사에서 Email, SMS, MessageQueue 같은 framework성격일건데 이런것도 대부분 마이크로 서비스로 구현되어있어 API연동으로 하게 되기 때문입니다.

예를 들어 어떠어떠한 코드들이 있는지를 이야기주시면 좀더 답변에 도움이 될 수 있을듯 합니다.

그리고 커뮤니케이션은 개발팀 전체 mail과 wiki페이지를 주로 사용합니다. 분명히 중복코드가 있는 부분이나 각 도메인에서 필요하다생각되는 기능 중 공통 부분이 있다고 예상되는건 개발자가 알아서 그 자료를 찾거나 문의를 하여 적용하더라구요. 그런걸 보면 필요성이 있다면 분명 찾을 것이고 그러한 부분은 강요하지 않아도 공통적으로 관리해주는 리소스만 있다면 지속이 가능하다고 생각됩니다.

감사합니다

의견 추가하기

연관태그

← 목록으로