코드 뒤의 판단을, 코드 옆에
모든 코드베이스에는 사람 머릿속에만 사는 나머지 절반이 있습니다. 왜 재시도 횟수가 이 숫자인지, 왜 이 대비책인지, 왜 뻔한 방법이 버려졌는지. 그 사람이 떠나면 그것도 함께 떠납니다.
20개 언어를, 코드로 색인합니다
심볼과 심볼 사이의 호출이 별도의 검색창이 아니라 메모와 같은 그래프로 들어갑니다. 결정 메모와 거기서 나온 함수가 이웃으로 놓입니다. 원래 그런 사이이기 때문입니다.
git 이력이 메모 옆에 색인됩니다
무엇이 언제 바뀌었는지, 그때 그것에 대해 무엇이 쓰였는지가 한 번의 질문으로 닿습니다. 커밋은 무슨 일이 있었는지 말하고, 메모는 왜 그랬는지 말합니다. 어느 한쪽만으로는 쓸모가 크지 않습니다.
손대기 전에 보는 파급 범위
어떤 심볼에 무엇이 매달려 있는지 물으면, 이름이 나오는 주석까지 죄다 걸어 오는 텍스트 검색이 아니라 그래프가 답합니다. 코드가 낯설 때 제값을 하고, 필요해지는 때가 바로 그때입니다.
물려받은 서비스에서 정체 모를 숫자를 만납니다
재시도 일곱 번. 주석은 없습니다. blame이 가리키는 커밋에는 "fix flakiness"라고만 적혀 있습니다.
재시도 횟수가 왜 일곱인지 묻습니다. 답변은 18개월 전의 결정 메모를 인용합니다. 부하가 걸린 상태에서 저장소 자체의 타임아웃을 6초로 측정했고, 일곱 번이면 관측된 최악의 경우를 여유까지 두고 덮었으며, 세 번으로 줄였더니 그 장애가 다시 났다고요. 그 옆에는 그것을 구현한 함수와 그 값을 못 박아 둔 테스트가 있습니다.
이제 그것을 바꿔도 되는지 아십니다. 그러지 않았다면 바꾸고, 배포하고, 그제야 알게 되었을 겁니다.
제 데이터에 써도 되나요?
찾는 일은 로컬에서. 생성은 당신이 가리킨 곳에서.
맞는 대목을 찾는 일은 언제나 당신의 컴퓨터에서 일어납니다. 그다음은 당신의 선택입니다. 클라우드 모델을 연결하시면 찾아낸 대목이 그 업체로 갑니다. 직접 붙여넣으셨을 때와 똑같이요. 로컬에서 도는 모델을 가리키시면 컴퓨터를 떠나는 것이 하나도 없습니다. 두 번째 선택지는 오늘 이미 쓸 수 있고, "우리 데이터는 어디에서 처리됩니까?"라는 질문의 답을 "당신의 기기에서"로 바꿔 놓는 것이 바로 그것입니다.