이 활동에는 코드 품질과 일관성을 개선하기 위해 오픈 소스 프로젝트 GENEREADME에 통계 분석 도구를 구현하는 작업이 포함됩니다.
GENEREADME에 대한 기여를 환영합니다! 환경 설정, 도구 실행 및 테스트 방법, 변경 사항 제출에 대한 지침은 CONTRIBUTING.md를 확인하세요.
GENEREADME는 파일을 가져와 처리하고 파일 내용에 대한 설명이나 문서가 포함된 README 파일을 생성하는 명령줄 도구입니다. 이 도구는 OpenAI 채팅 완성 기능을 활용하여 파일을 분석하고 콘텐츠를 생성합니다.
이 도구는 현재 기본적으로 Groq를 사용하는 Groq 및 OpenRouter를 지원합니다. 해당 공급자의 유효한 API 키를 제공해야 합니다.
다음 명령을 사용할 때 .env 파일을 생성하거나 -a 또는 --api-key 플래그를 통해 유효한 API 키를 제공하세요.
API_KEY=API_KEY or genereadme <files> -a API_KEY genereadme <files> --api-key API_KEY
종속성 설치:
npm install -g
기존 샘플 파일로 도구를 실행하거나 직접 사용하여 시작하세요.
genereadme <files> genereadme examples/sum.js genereadme examples/createUser.js
저는 포맷터로 Prettier를 선택했습니다. 단순한 이유로, 이전에 단순히 기본 기능만 사용해 본 적이 있고, 앞으로 더 많이 배울 계획이기 때문에 이것을 선택했습니다.
기술적으로는 기본적으로 더 예쁘게 사용하도록 IDE를 이미 설정했기 때문에 처음부터 포맷터도 이미 갖고 있었습니다. 그러나 이제 프로젝트 자체의 설정이 더 좋아져서 기여자가 포맷터를 사용하여 프로젝트의 코드를 포맷팅 측면에서 일관되게 유지할 수 있습니다.
저는 .prettierrc 파일에 코드 형식을 지정하는 방법에 대한 규칙을 추가하고 .vscode/ 아래의 settings.json에 저장 시 형식 지정과 같은 옵션에 대한 일부 설정을 추가했습니다.
저는 린터로 ESLint를 사용하기로 결정했습니다. 저는 JavaScript를 사용하고 있기 때문에 인기 있는 린터 중 하나를 사용했습니다. 이전에 사용해 본 경험은 있지만 직접 설정하지는 않았습니다. 그래서 ESLinter를 선택하게 되었습니다.
ESLinter 설정은 그다지 복잡하지 않았습니다. eslint.config.js에서 규칙을 간단히 설치하고 설정하면 linter가 작동하기에 충분합니다. 하지만 포맷터와 린터를 동시에 사용하고 있기 때문에 둘 다 제대로 작동하는지 확인해야 합니다. 여기에는 기본적으로 린터 및 포맷터와 충돌이 발생하지 않도록 하는 추가 규칙이 포함되어 있습니다.
프로젝트에서 도구를 사용할 수 있는 방법은 다양하며 저는 개인적으로 다음과 같은 특정 구성을 선호합니다. 더 예쁘게 저장하려면 형식을 지정하고 eslint를 위해서는 입력 시 실행을 선택하세요. 이렇게 하면 개발자가 입력할 때 Linter가 항상 Linting 문제를 확인한 다음 저장이 실행될 때 포맷터가 변경 사항을 자동으로 포맷합니다.
그러나 이번 주 작업에서는 사용자가 CLI를 통해 포맷터와 린터를 수동으로 실행할 수 있도록 스크립트도 추가했습니다. 저장소에 커밋된 모든 코드가 프로젝트의 형식 지정 및 Linting 표준을 충족하는지 확인하기 위해 사전 커밋 후크도 구현됩니다. 이 후크를 추가하면 각 커밋 전에 Prettier와 ESLint를 자동으로 실행하여 문제를 조기에 포착하고 기여 전반에 걸쳐 코드 일관성을 유지할 수 있습니다. 이 설정은 사소한 형식 문제가 간과될 가능성을 줄이고 프로젝트에 참여하는 모든 사람의 코드 가독성을 높이는 데 도움이 됩니다.
위 내용은 일관성을 위한 형식 지정 및 Linting의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!