此活動涉及在我的開源專案 GENEREADME 中實施統計分析工具,以提高程式碼品質和一致性。
歡迎為 GENEREADME 做出貢獻!請查看 CONTRIBUTING.md 以取得有關設定環境、如何運作和測試該工具以及提交變更的指南。
GENEREADME 是一個命令列工具,它接收文件、處理它並產生一個 README 文件,其中包含文件內容的解釋或文件。該工具利用 OpenAI 聊天完成來分析文件並產生內容。
該工具目前支援 Groq 和 OpenRouter,預設使用 Groq。必須提供相應提供者的有效 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 設定為預設使用 prettier,因此我從一開始就已經擁有了格式化程式。然而,現在專案本身有了更漂亮的設置,這將允許貢獻者也使用格式化程序,使專案的程式碼在格式方面保持一致。
我只是在 .prettierrc 檔案中添加了關於如何格式化程式碼的規則,以及 .vscode/ 下的 settings.json 中的一些設置,用於保存格式等選項。
對於我的 linter,我選擇使用 ESLint。由於我使用的是 JavaScript,所以我使用了一種流行的 linter,我以前也有過使用它的經驗,但我自己並沒有真正設定過。因此,我選擇了 ESLinter。
設定 ESLinter 並不複雜。在 eslint.config.js 中進行簡單的安裝和設定規則就足以讓 linter 正常運作。但是,由於我同時使用格式化程式和 linter,因此我必須確保它們都能正常運作。其中基本上包括附加規則,以確保不會與 linter 和格式化程式發生任何衝突。
這些工具在專案中的使用方式有很多種,我個人更喜歡這些特定的配置:format on save for prettier 和 run on type for eslint。這樣,linter 將始終在開發人員鍵入時檢查 linting 問題,然後格式化程式將在觸發儲存時自動格式化變更。
然而,對於本週的任務,我還添加了腳本以允許用戶透過 CLI 手動運行格式化程式和 linter。還實現了預提交掛鉤,以確保提交到儲存庫的任何程式碼都符合專案的格式和 linting 標準。透過添加這個鉤子,我可以在每次提交之前自動運行 Prettier 和 ESLint,儘早發現任何問題並保持貢獻之間的程式碼一致性。此設定有助於減少出現小格式問題的可能性,並提高參與專案的任何人的程式碼可讀性。
以上是格式化和 Linting 以保持一致性的詳細內容。更多資訊請關注PHP中文網其他相關文章!