documentation

2 개의 포스트

코드 품질 개선 기법 26편: 설명의 핵심은 첫 문장에 있다 (새 탭에서 열림)

코드의 가독성과 유지보수성을 높이기 위해서는 주석의 첫 번째 문장에 가장 핵심적인 정보를 담는 것이 중요합니다. 단순히 코드의 동작 과정을 나열하기보다 높은 추상화 수준에서 코드의 목적을 먼저 설명해야 하며, 이를 통해 읽는 사람이 전체 맥락을 빠르게 파악할 수 있도록 유도해야 합니다. 주석의 유형에 따라 가장 중요한 요소(반환값, 존재 이유, 이상적인 상태 등)를 선별하여 서두에 배치하는 것이 문서화의 핵심입니다. **효율적인 문서화 주석 작성법** - **첫 문장에서 개요 전달**: 문서화 주석은 전체를 다 읽지 않고 첫 번째 문장만 읽어도 해당 함수나 클래스의 역할을 이해할 수 있도록 작성해야 합니다. - **추상화 수준 높이기**: "마침표로 분할한다"와 같은 구현 디테일보다는 "문장 단위로 분할한다"처럼 코드보다 높은 수준의 용어를 사용하여 의도를 명확히 합니다. - **중요 정보 우선 배치**: 함수의 경우 '무엇을 반환하는지'가 가장 중요하므로, 반환값의 의미를 첫 문장에 기술하고 구체적인 구분자나 예외 처리 조건은 뒷부분에 보충합니다. - **구체적인 예시 활용**: 경계 조건이나 복잡한 입력값이 있을 때는 주석 하단에 `input -> output` 형태의 예시를 추가하여 이해를 돕습니다. **임시 방편 및 인라인 주석의 구성** - **존재 이유 명시**: 특정 버그를 회피하기 위한 코드나 임시 방편적인 코드에서는 '무엇을 하는지'보다 '왜 이 코드가 필요한지'를 먼저 설명해야 합니다. - **맥락 제공**: 예를 들어 "기기 X의 버그를 해결하기 위함"이라는 목적을 서두에 두면, 나중에 코드를 읽는 작업자가 해당 로직의 삭제 여부를 더 쉽게 판단할 수 있습니다. **효과적인 TODO 주석 작성** - **목표 상태 우선 기술**: TODO 주석에서는 앞으로 수행해야 할 리팩토링의 방향이나 '이상적인 상태'를 가장 먼저 작성합니다. - **제약 사항 후순위 배치**: 현재 상태의 문제점이나 즉시 수정하지 못하는 기술적 부채에 대한 설명은 목표를 명시한 뒤에 덧붙이는 것이 가독성에 유리합니다. 코드의 의미는 코드가 스스로 말해야 하지만, 그 너머의 의도와 비즈니스 로직의 맥락은 주석의 첫 문장이 결정합니다. 읽는 이의 시간을 아끼기 위해 가장 중요한 핵심부터 말하는 습관을 들이는 것이 좋습니다.

eBay가 Figma로 브랜드 (새 탭에서 열림)

디자인 시스템의 성공 여부는 단순히 컴포넌트를 얼마나 많이 만드느냐가 아니라, 실제 제품 개발팀이 이를 얼마나 적극적으로 채택(Adoption)하느냐에 달려 있습니다. 잘 작성된 문서는 디자인 시스템이 해결하고자 하는 문제를 명확히 하고, 디자이너와 엔지니어 사이의 언어적 장벽을 허무는 핵심적인 소통 도구 역할을 합니다. 결국 효과적인 문서화는 시스템의 신뢰도를 높이고 팀 전체의 작업 속도를 가속화하는 핵심 동력입니다. **사용자 중심의 문서 설계** * 문서의 독자가 디자이너, 개발자, 프로덕트 매니저임을 인지하고 각 직군에 필요한 정보를 최적화하여 제공해야 합니다. * 단순히 '무엇'을 만들었는지 나열하기보다, 특정 UI 요소를 '왜' 사용해야 하는지에 대한 컨텍스트와 의사결정 근거를 포함하는 것이 중요합니다. * 디자이너를 위한 스타일 가이드와 개발자를 위한 기술 명세(Props, API)가 유기적으로 연결되어야 협업 효율이 극대화됩니다. **컴포넌트 가이드라인의 구성 요소** * **사용 예시(Usage):** 컴포넌트의 목적을 정의하고, 올바른 사용 사례(Do)와 잘못된 사용 사례(Don't)를 시각적인 예시와 함께 제시하여 오용을 방지합니다. * **상태 및 변형(States & Variants):** 기본 상태부터 Hover, Active, Disabled 등 다양한 인터랙션 상태에 따른 디자인 변화를 상세히 기술합니다. * **접근성(Accessibility):** 키보드 내비게이션, 스크린 리더 지원 사항 등 모든 사용자가 제품을 사용할 수 있도록 보장하는 구체적인 지침을 포함합니다. **도구 간 동기화와 접근성 강화** * 문서 웹사이트와 Figma 라이브러리, 그리고 실제 코드(Storybook 등) 사이의 명칭과 속성이 일관되게 유지되도록 관리해야 합니다. * 디자인 토큰을 활용하여 색상, 타이포그래피 등의 기초 자산이 코드와 문서에 실시간으로 반영되는 워크플로우를 구축하는 것이 좋습니다. * 사용자가 문서를 찾기 위해 별도의 수고를 들이지 않도록 작업 환경(Figma 내부 설명란 등)에 문서 링크를 직접 제공하여 접근 장벽을 낮춥니다. 디자인 시스템 문서를 한 번에 완성하려 하기보다는 '살아있는 제품'으로 취급하여 점진적으로 발전시켜야 합니다. 가장 빈번하게 사용되는 컴포넌트부터 문서화를 시작하고, 실제 사용자(동료들)의 피드백을 받아 가독성과 내용을 보완해 나가는 프로세스를 구축하는 것이 가장 실무적이고 효과적인 접근 방식입니다.