banner
홈페이지 / 소식 / Diff 도구는 사용자가 의미하는 바를 알고 있습니다.
소식

Diff 도구는 사용자가 의미하는 바를 알고 있습니다.

Jul 27, 2023Jul 27, 2023

우리는 특별히 예술적이지 않다는 것을 인정하지만 미술 교사가 때로는 존재하는 것보다 존재하지 않는 것을 그리는 것이 더 낫다고 말한 것을 기억합니다. 이는 네거티브 공간이라고 알려진 개념입니다. [Wilfred]는 적절하게 difftastic이라고 불리는 그의 "환상적인 diff" 도구를 설명할 때 비슷한 점을 지적합니다. 그는 두 프로그램을 비교할 때 무엇이 ​​변경되었는지 확인하는 것이 아니라 무엇이 동일하게 유지되었는지 확인하는 것이 목표라고 지적합니다. 동일한 것으로 더 많이 식별할수록 변경 사항으로 표시할 필요가 줄어듭니다.

이 도구는 적어도 이 목적에 충분할 만큼 이미 구문 분석된 다양한 언어가 있는 tree-sitter의 도움을 받아 스마트한 방식으로 소스 코드를 비교합니다. [Wilfred의] 게시물에 따르면 이 도구는 bash와 YAML, Verilog에서 VHDL, C++에서 Rust까지 44개의 다양한 언어를 지원합니다.

물론 도구 자체는 주목할 가치가 있습니다. 하지만 이 글의 진정한 보석은 최소한의 변경 사항을 해결하기 위한 트리 시터 및 알고리즘에 대한 명료한 설명(오토크롬에서 차용)과 같은 것입니다.

코드는 아직 개발 중이며 출력이 항상 원하는 만큼 명확하지는 않습니다. 그래도 꽤 좋은 도구이고 개발 과제에 대한 훌륭한 글입니다.

Verilog와 VHDL이 시작이지만 우리는 회로도에 대한 차이점을 정말로 원합니다. 아, 그리고 PCB 레이아웃도 잊지 마세요.