
263
5
장
도구 활용
CHAPTER
도구 활용
5
구글의
C
++ 라이브러리 책임자인 타이터스 윈터스
Titus
Winters
는 소프트웨어 엔지니어링은 시간
이 지남에 따라 점진적으로 통합되는 프로그래밍이라고 말한다. 때로는 시간뿐만 아니라 여러
사람을 거치기도 한다. 그 시간이 길어지고 팀의 규모도 커질수록 코드베이스에는 코드 이외의
많은 것들이 담기게 된다.
이런 관점에서 러스트를 비롯한 최신 언어에서는 프로그램을 실행 가능한 바이너리 코드로 변
환하는 컴파일러만 제공하는 데 그치지 않고, 다양한 도구로 구성된 생태계도 함께 제공한다.
이번 장에서는 러스트의 도구 생태계를 살펴보고 이 인프라를 최대한 활용하는 방법을 조언한
다. 물론 목적과 용도에 맞게 활용해야 한다. 한두 번만 실행하고 버릴 프로그램에
CI
와 문서화
빌드, 여섯 가지 유형의 테스트를 구축하는 것은 과하다. 이 장에서는 ‘가성비’가 뛰어난 방법
위주로 소개한다. 도구 활용에 대한 약간의 투자만으로도 상당한 효과를 거둘 수 있다.
아이템
27
: 공개 인터페이스는 문서화하라
여러분이 작성한 크레이트를 다른 프로그래머가 사용한다면 크레이트 내용에 대해, 특히 공개
API
에 대해 문서화하는 것이 좋다. 잠깐만 사용하다가 버릴 크레이트가 아니라면, 코드에 대
한 세부 사항을 잊어버린 ‘다른 프로그래머’가 ...