포맷 옵션의 철학
💡 Biome은 Prettier의 옵션 철학을 따릅니다. 현재의 포맷 옵션 세트는 안정적이라고 간주되며, 새로운 옵션이 추가될 가능성은 낮습니다.
이 문서는 오늘날 Biome이 어떤 위치에 도달하게 되었는지 그 역사와 이유를 설명하며, 미래에 대한 전망도 제시합니다.
Biome은 의견 중심의 포메터입니다. 이상적인 세계에서는 이는 오직 하나의 올바른 포맷 방식이 있으며, 언제나 그 스타일을 적용한다는 의미입니다. 프로젝트의 종류나 설정 여부와 상관없이, Biome이 포맷한 코드는 항상 동일한 모습을 가집니다. 다른 관점에서 보면, Biome은 스스로의 자동 스타일 가이드이며, 다른 스타일 가이드를 적용하는 도구가 아닙니다.
포맷에 대해 단단한 견해를 갖는다는 것은 무거워 보일 수 있지만, 실제로 도입하면 장점이 빠르게 드러납니다. 공백의 위치, 줄 간격, 들여쓰기 등과 관련된 모든 논의는 갑자기 사라집니다. 소소한 논쟁은 더 이상 본질적인 문제에 집중하는 데 방해가 되지 않습니다. 코드 리뷰는 포맷 재조정 요청과 반복되는 논쟁에서 해방됩니다. 오직 단순히 “Biome이 깔끔하고 가독성 좋으며 일관된 방식으로 코드를 포맷하려 노력할 것”이라는 믿음을 가지면 충분합니다.
팀 내 및 조직 내에서의 이점 외에도, 웹 생태계 전체에 통일된 포메터를 도입하면 모두에게 이득이 됩니다. 왜냐하면 프로젝트 간 이동 시 익숙함을 유지하기 쉬워지고, 신입 개발자가 패턴을 직관적으로 배우고 인식할 수 있도록 도와주기 때문입니다.
현재 웹 생태계에서, 훨씬 더 큰 영향력을 행사하는 코드 포메터는 바로 Prettier이며, 이 또한 강력한 의견 기반 설계를 갖고 있으며, 옵션 추가에 대한 엄격한 철학을 가지고 있습니다. Biome은 대체로 Prettier와 호환되기를 목표로 하며, 이를 위해 많은 흐름을 따라왔으며 구성 설정도 예외가 아닙니다.
Biome는 사용자들이 마이그레이션 과정에서 최대한 부담 없이 전환할 수 있도록 하기 위해, 이렇게 높은 정도의 호환성을 달성했다는 점에 자랑스럽게 생각하지만, 이 역시 다음과 같은 경고가 따릅니다.
기존 옵션
섹션 제목: “기존 옵션”Biome은 초기부터 구성 옵션의 엄격한 하위 집합을 시작했으며, 주로 자바스크립트 생태계에서 가장 일반적이고 논란이 많은 스타일 가이드에 초점을 맞췄습니다: 들여쓰기 스타일(탭 대 스페이스), 들여쓰기 너비(탭과 맞추기 위해 2칸인지, 아니면 4칸인지?), 그리고 필수 세미콜론. 이러한 사안에 대한 옵션 추가가 대부분 사람들의 요구를 충족시키기에 충분하다고 판단되었고, 추가적인 옵션을 고려하지 않았습니다.
제한된 옵션 철학에 기반하여, Biome는 처음부터 시작할 수 있었으며, Prettier가 이미 존재하는 다른 옵션들 — 예를 들어 --bracket-same-line이나 --arrow-parens처럼 — 에 빠졌던 함정들을 피할 수 있었습니다:
…[이런] 종류의 옵션들은 우리가 좋아하는 타입의 옵션이 아닙니다. 팀 내에서 많은 논쟁을 유발하며, 안타깝게도 말입니다. 이제는 제거하기 어렵지만, 이러한 옵션들은 역사적 산물로서 존재하며, 더 많은 옵션 추가를 정당화하지 않아야 합니다(“만약 이런 옵션이 있다면, 왜 이것은 없을 수 없는가?”).
그러나 Prettier 도전 과제가 발표되자, Biome는 도전을 받아들이기로 결정했습니다. 이는 전체적인 구성 옵션을 완전히 구현해야 하는 요구사항을 포함했습니다.
비슷한 방식으로, 비옴은 이러한 옵션에 대해 여전히 Prettier의 철학을 공유하며, 이들은 호환성을 위해 유산으로 남겨진 특징이지 기본 기능 세트는 아닙니다. 이러한 옵션의 존재는 앞으로 더 많은 옵션 추가를 의미하지 않으며, 향후 다른 옵션 존재를 정당화하는 근거로 활용되어서는 안 됩니다.
새로운 옵션
섹션 제목: “새로운 옵션”비슷한 방식으로, Biome는 현재 옵션 세트가 안정적이고 충분하며, 추가 또는 기타 변경을 열어두지 않는다고 생각합니다. 추가 구성 옵션 요청은 거의 고려되지 않으며, 논의 없이도 닫힐 수 있습니다.
다만, 비옴이 강력하고 견고한 포매터 도구로 자리 잡았음에도 불구하고, 여전히 비교적 신생이라는 점을 고려할 때, 그렇지 않으면 실현 불가능해 보였던 새로운 발전과 아이디어를 위한 길을 열어둘 여지가 매우 많습니다.
비옴의 포맷 스타일 또한 비교적 안정적이라 간주되며, 가능한 한 Prettier와 일치하도록 유지하고 있습니다. 다만 의도적인 소수의 차이점은 여전히 존재합니다. 비옴의 스타일에 대한 변경은 검토하고 구현 가능하지만, 대부분의 경우 설정 가능한 옵션으로 전환되기는 어려울 것이며, 대신 향후 모든 버전에 걸쳐 전역적으로 적용될 것입니다.
Copyright (c) 2023-present Biome Developers and Contributors.