프로그램을 이해할 때 고수들이 쓰는 방법(Cross-Referencing Strategy)이다. 코드에서 읽어 낸 것을 도메인 어휘로 번역하고, 반대로 도메인 어휘를 코드의 어휘로 다시 바꿔 확인한다. 추상(업무 개념)과 구체(코드) 사이를 자주 오가는 것이다.
하수는 두 세계를 잇지 않고 한쪽에만 머무는 경향이 있다. 코드 한 줄 한 줄의 동작만 보거나, 반대로 업무 설명만 듣고 코드를 짐작한다.
해 보는 방법
- 함수나 모듈을 읽고 "이건 업무 말로 하면 무엇인가?"를 한 문장으로 적는다
- 기획서의 용어가 코드의 어떤 이름에 대응하는지 표를 만든다. 어긋나는 이름은 언어적 안티패턴의 후보다
- 팀이 같은 단어를 코드와 대화에서 똑같이 쓰도록 맞춘다. 도메인 주도 설계 (DDD)의 유비쿼터스 언어(Ubiquitous Language)와 같은 생각이고, 단어의 경계가 바운디드 컨텍스트를 드러낸다
『프로그래머의 뇌』도 전문가는 코드 자체를 언급하지 않고도 코드를 추상적으로 추론하는 반면, 초보자는 세부 사항에 묶인다고 설명한다 → 프로그래머의 뇌 (책 개요), 청킹과 코드 읽기
출처: 『함께 자라기: 애자일로 가는 길』 김창준