https://martinfowler.com/bliki/CodeOwnership.html
마틴 파울러 어르신께서 코드 오너쉽에 대해 쓴 글이 있어서 가져와봄.
파울러 횽아가 3가지 카테고리로 분류해주셨다.
Strong Code Ownership
잘게 잘게 모듈 단위로 다 쪼갠 후, 각각에 담당자를 지정.
해당 모듈은 담당자만 수정.
다른 사람의 모듈 수정이 필요하면, 담당자한테 요청하고 처리 될 때까지 대기. ㅋ
Weak Code Ownership
모듈을 쪼개서 각각에 담당자를 지정하는 건 동일.
그러나 모든 개발자는 타인의 모듈을 수정할 수 있음.
단, 담당자는 누가 뭘 수정하는지 항상 보고 있어야 함.
Collective Code Ownership
담당자 지정이라는 거 없고, 누구나 수정할 수 있다.
모든 코드는 개인이 아닌 팀의 오너쉽임을 강조한다.
Extreme Programming 에서 나온 개념.
strong code ownership 은 코드 수정할 때 타인의 코드를 건들 수도 있는데, 예를들면 public method 이름 변경 같은거 하나 수정하는데에도 대기와 지연이 발생하니 굉장히 비효율적이다.
weak code ownership 은 그런 문제점들을 가볍게 해결한다.
사람들은 자유롭게 수정하고, 담당자는 지켜보고 있으면 된다.
weak ownership 과 collective ownership 중 선택은 팀의 social dynamics 에 기반해서 결정하면 된다.
파울러횽은 Collective code ownership team 을 선호한단다.
'dev' 카테고리의 다른 글
gitflow vs github vs gitlab flow 비교 (0) | 2017.03.22 |
---|---|
mysql 무중단 스키마 변경 pt-online-schema-change (0) | 2017.03.21 |
mysql 에 이모지 emoji 사용하기 utf8mb4 (0) | 2017.03.20 |
CKEDITOR link 내에서 & (ampersand) 치환 이슈 (0) | 2017.03.17 |
HATEOAS 이해 (0) | 2017.02.28 |