차트 라이브러리 만들어보기 - 라이브러리 설계 원칙

 

코드를 생산하게 되면 코드를 사용하는 사람이 있기 마련이다. 그게 본인일 수도 있고 다른 사람이 될 수도 있다. 여기서 중요한 2가지의 관점이 있는데

 

첫번째로 인터페이스의 일관성이다. 여기서 인터페이스의 일관성이란 클래스나 함수부터 네이밍 처리하는 부분까지도 인터페이스의 영역이라 할 수 있다. 어느정도의 일관성이 있다면 사용하는 입장에서 꼭 매뉴얼을 보지 않고도 유추할 수 있다. 매뉴얼을 꼭 봐야하는 경우도 있겠지만 가능한 비슷한 기능이나 비슷한 처리를 하는 부분이라면 일관성있게 만드는 것은 중요하다.

 

두번 째는 오류처리의 일관성이다. 작동하는 도중에 에러가 발생 했을 시 해당하는 문제에 대해 예외를 던지거나 null 처리를 하는 등에 있어서 어떤 기준을 둘 것인지에 대한 일관성이 있어야 한다. 만약 같은 에러가 발생 하더라도 에러 처리하는 부분이 제각각이라면 사용자에게 불편함과 소프트웨어에 대한 거부감을 줄 수도 있다.

 

이러한 관점들 말고도 다른 부분도 있다. 프로그램을 개발하다보면 버전이라는 것이 생기게된다. 소프트웨어의 버그가 발생했거나 아니면 더 나은 방향으로의 소프트웨어를 개발하는데 있어서 버전은 꼭 필요할 것이다. 하지만 이 버전이 서로 정반대의 원칙을 가지고 있다면 이것은 또 다른 문제를 낳을 것이기 때문에 버전 관리에 대한 중요성도 필요하다. 

 

이에 관련해서 npm에서 관리하는 semantic versioning이라는 기법이 있다. 

 

https://docs.npmjs.com/about-semantic-versioning

 

About semantic versioning | npm Docs

Documentation for the npm registry, website, and command-line interface

docs.npmjs.com

 

여기서는 버전에 대한 어느정도의 규칙을 명명한다. 예를들어 1.1.2 등의 버전이 있다고하면 여기서 각각의 숫자들은 의미를 갖고있는데 첫번 째 숫자는 메이저 버전을 의미하고 가운데 숫자는 마이너 버전을 의미하고 마지막 숫자는 패치 버전을 의미한다. 패치 버전은 버그의 수정 등으로 기존의 사용자는 코드를 수정하지 않아도 사용할 수 있다. 마이너 버전은 라이브러리에 새로운 기능이 추가되거나 버그를 고쳤을 때다. 기존의 사용자 코드가 수정될 필요가 없을 수도 있고 있을 수도 있다. 메이저 버전은 새로운 기능이 추가 될 수도 있고 구조 자체가 변화 될 수도 있다는 의미이다.

 

따라서 이런 규칙을 보고 버전을 어떻게 관리할 것인지에 관해 정하고 소통하고 판단할 수 있어야 한다.

 

 

 

 

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #김민태의프론트엔드아카데미:제1강JavaScript&TypeScriptEssential

+ Recent posts