# Unified vs. Split Diff

> Clean Markdown view of GeekNews topic #11510. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=11510](https://news.hada.io/topic?id=11510)
- GeekNews Markdown: [https://news.hada.io/topic/11510.md](https://news.hada.io/topic/11510.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2023-10-25T10:18:37+09:00
- Updated: 2023-10-25T10:18:37+09:00
- Original source: [matklad.github.io](https://matklad.github.io/2023/10/23/unified-vs-split-diff.html)
- Points: 3
- Comments: 1

## Topic Body

- 코드 리뷰에서 unified diff와 split diff 사용의 장단점 설명  
- unified diff와 split diff는 간단하고 작은 변화에 적합  
- 크고 복잡한 변화에 대해서는 unified diff나 split diff가 이상적이지 않음  
- 저자는 특정 시점의 전체 코드베이스를 검토하는 것을 선호하며, 최근에 변경된 영역에 초점을 맞추되 일반적인 검토도 수행  
- 이상적인 diff 뷰는 코드의 현재 상태를 왼쪽에 표시하고, 미묘하게 강조된 변화와 함께 현재 보이는 코드베이스의 unified diff를 오른쪽에 보여줄 것이라고 저자는 제안  
- 이 검토 형식은 실제 코드보다는 diff를 검토하는 데 초점을 맞춘 기존 도구에서 잘 지원되지 않는다고 지적함  
- 저자는 이 검토 스타일에 대해 로우테크 워크플로우를 사용하며, 로컬에서 pull request를 확인하는 스크립트를 사용. 이 스크립트는 pull request의 모든 커밋을 지우지만 모든 변경 사항은 유지  
- 저자의 워크플로우는 변경된 파일을 쉽게 탐색하고 검토된 hunks를 표시할 수 있지만, 상태 버퍼와 편집기에서 현재 열린 파일 사이의 자동 동기화는 부족  
- 저자는 이런 방식으로 코드를 검토하기 쉽게 해주는 도구를 원하며, 맞춤형 ad-hoc 도구를 만들 필요 없이 이를 가능하게 해주는 도구를 원함  
- 저자는 또한 글이 코드 검토 방법에 대해 논의하고 있지만, 코드 검토의 주요 목표는 반드시 코드를 검토하는 것이 아니라는 점을 지적하며, 이 주제에 대한 관련 게시물을 링크로 소개

## Comments



### Comment 20139

- Author: neo
- Created: 2023-10-25T10:18:37+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=37995155) 
- 본 기사는 코드 리뷰에서 통합 diff와 분할 diff의 차이점에 대해 논의합니다.
- 일부 댓글 작성자들은 리뷰 유형이 팀과 티켓에 따라 달라지며, 일부는 두 번째 눈으로의 정신 검사를 선호하고, 다른 일부는 깊고, 구조적인 기능 사전 병합 리뷰를 선호한다고 주장합니다.
- difftastic이라는 도구가 언급되며, 이 도구는 더 세밀한 diff 강조를 위해 구조적 diffing을 사용합니다.
- 일부 댓글 작성자들은 PR을 열어 리뷰하는 변화를 검토하기 위해 vim을 사용하는 스크립팅을 사용합니다.
- 대규모이고 복잡한 코드베이스에서 코드 리뷰의 어려움이 강조되며, 문제는 도구보다는 문화와 지식 공유에 더 관련이 있습니다.
- GitHub의 기능 중 하나인 브라우저 내에서 전체 IDE로 들어가는 `.`을 누르는 것이 전체 파일의 맥락에서 변화를 보는 데 유용하다고 언급됩니다.
- 일부 댓글 작성자들은 분할 diff에서 불필요한 맥락을 제거하는 저자의 선호도에 의문을 제기하고, 다른 일부는 p4merge와 같은 다른 도구의 기능을 그리워합니다.
- GitHub의 VSCode를 브라우저에서 diff 뷰를 보기 위해 사용하는 것이 전체 파일과 더 읽기 쉬운 복잡한 diffs를 보는 데 제안됩니다.
- Meld는 이러한 사용 사례에 잘 작동하는 도구로 제안됩니다.
