Blog Works Github ↗

코드를 어떻게 비판해야하는가

코드 리뷰에서 건설적인 피드백을 주는 방법에 대한 짧은 메모

코드 리뷰에 참고가 될만한 글이 있어 첨부한다.

Letters To A New Developer How to criticize code Criticizing code is an important skill. It helps transmit norms, increase team knowledge, and improve solutions. letterstoanewdeveloper.com

첫째, 맥락(컨텍스트)를 이해한다. 두가지 타입의 맥락이 있는데, 그 중 하나가 비지니스 맥락이다.

이 시스템이 문제를 어떻게 해결하려하는가, 이 비지니스가 가진 제한사항(시간, 돈, 노동력, 이해 등)은 무엇인가?

때론 완벽한 아키텍쳐나 유지보수성보다 모험적인 코드들이 상황에 따라 가치있을 수 있다.

기술적인 맥락을 이해하는 것 또한 중요하다. 팀 지식의 규모, 수준, 기간은 어떠한가? 모든 정보가 비평에 녹아있어야 한다.

이러한 컨텍스트들은 시간이 지남에 따라 변하므로, 오래된 추정을 갖고 있지 않은지 더블체크가 필요하다. 팀 리더와 빠른 대화를 통해 파악하는 것도 도움이 될 것이며, 같은 컨텍스트를 유지할 수 있도록 팀 전체가 정기적인 모임을 갖는 것도 방법이 될 수 있다.

우리의 리뷰나 비평의 목적은 실행가능한 피드백을 통해 우리와 작성자의 코드를 향상하고 시스템을 이해하는 것이다.

과한 피드백은 오히려 작성자에게 무리를 줄 수 있다.

작은 것에 집중하지 말자. 린터로 해결할 수 있는 문제라면, 린터로 해결하자.

‘톤’에 주의하자. 그 사람이 어떤지에 대한 것을 그 사람의 구현과 섞어보지 말자.