well-balanced

Single source of truth란? 본문

etc

Single source of truth란?

Cosmian 2019. 11. 12. 02:17

Single source of truth

정보의 중복, 비정합성 등의 문제를 해결하고자 나온 이론이다.

어찌보면, '리팩토링' 의 개념과 비슷하다고 볼 수 있다. 웹사이트를 제작할 때 우리는 'index' 라는 기본 파일을 만드는 이유 또한 이것에 기인한다. 간단한 예시를 통해 살펴보자.

우리는 지금 블로그를 만드는 중이다. 드디어 우리는 블로그 홈(index)에서 로그아웃 기능을 구현해냈다. 
그러나 글목록 페이지에는 로그아웃 기능이 없어서 블로그 홈에 로그아웃 기능을 구현한 코드를 **복사해서 붙여넣기했다**.  

이렇게 된다면 Single source of truth의 규칙을 어겼다고 할 수 있다. 그 이유는 코드의 중복이 발생했기 때문이다. 만약 logout의 UI를 개선하고 싶다면 블로그 홈에 있는 코드와 글목록 페이지에 있는 코드를 수정해야 하기 때문이다. 이처럼 정보의 소스가 일원화되지 않는다면 여러번 수정을 거쳐야하는 번거로움이 있다. 그렇다면 이렇게 바꾸면 어떨까?

우리는 지금 블로그를 만드는 중이다. 드디어 우리는 블로그 홈(index)에서 로그아웃 기능을 구현해냈다. 
그러나 글목록 페이지에는 로그아웃 기능이 없어서 블로그 홈에 로그아웃 기능을 구현한 코드를 **참조하여 가져왔다**.  

이럴 경우, 블로그 홈의 로그아웃 기능을 참조했기 때문에 무언가 변경사항이 있을 경우 블로그 홈의 로그아웃 코드를 수정하면 글목록 페이지의 로그아웃 코드에도 자동으로 반영이 될 것이다.

'etc' 카테고리의 다른 글

HTTP란?  (0) 2019.11.26
Naming case (네이밍 케이스)  (0) 2019.11.14
'Object Model' 정리  (0) 2019.11.13
동기(Synchronous)와 비동기(Asynchronous)의 차이  (0) 2019.11.12
[번역] Statement와 Expression의 차이 (Javascript)  (0) 2019.11.08
Comments