Aktiviti ini melibatkan pelaksanaan alat analisis statistik ke dalam projek sumber terbuka saya GENEREADME untuk meningkatkan kualiti dan ketekalan kod.
Sumbangan kepada GENEREADME dialu-alukan! Sila semak CONTRIBUTING.md untuk mendapatkan garis panduan tentang menyediakan persekitaran, cara menjalankan dan menguji alat serta menyerahkan perubahan.
GENEREADME ialah alat baris perintah yang mengambil fail, memprosesnya dan menjana fail README dengan penjelasan atau dokumentasi kandungan fail. Alat ini menggunakan penyiapan sembang OpenAI untuk menganalisis fail dan menjana kandungan.
Alat pada masa ini menyokong Groq dan OpenRouter, yang menggunakan Groq secara lalai. Kunci API yang sah untuk pembekal yang sesuai mesti disediakan.
Sediakan kunci API yang sah sama ada dengan mencipta fail .env atau melalui bendera -a atau --api-key apabila menggunakan arahan:
API_KEY=API_KEY or genereadme <files> -a API_KEY genereadme <files> --api-key API_KEY
Pasang kebergantungan:
npm install -g
Jalankan alat dengan fail sampel sedia ada atau mula menggunakan fail anda sendiri:
genereadme <files> genereadme examples/sum.js genereadme examples/createUser.js
Untuk pemformat saya, saya memilih untuk menggunakan Prettier. Atas sebab mudah, saya memilih ini kerana saya hanya menggunakan ciri asasnya sebelum ini dan saya bercadang untuk mempelajari lebih lanjut mengenainya.
Secara teknikal, saya sudah menyediakan IDE saya untuk menggunakan lebih cantik secara lalai jadi saya sudah mempunyai pemformat saya dari awal. Walau bagaimanapun, kini dengan persediaan yang lebih cantik dalam projek itu sendiri, ini akan membolehkan penyumbang turut menggunakan pemformat, memastikan kod projek konsisten dari segi pemformatan.
Saya hanya menambah peraturan tentang cara saya mahu kod diformatkan dalam fail .prettierrc saya dan beberapa tetapan dalam settings.json di bawah .vscode/ untuk pilihan seperti memformat pada simpan.
Untuk linter saya, saya memilih untuk menggunakan ESLint. Memandangkan saya menggunakan JavaScript, saya menggunakan salah satu linters popular, yang saya juga mempunyai pengalaman menggunakan sebelum ini, tetapi tidak benar-benar membuat persediaan sendiri. Jadi kerana itu, saya pergi dengan ESLinter.
Menyediakan ESLinter tidak begitu rumit. Pemasangan mudah dan menyediakan peraturan dalam eslint.config.js sudah cukup untuk membolehkan linter berfungsi. Walau bagaimanapun, kerana saya menggunakan pemformat dan linter pada masa yang sama, saya perlu memastikan kedua-duanya boleh berfungsi bersama dengan betul. Yang pada asasnya termasuk peraturan tambahan untuk memastikan tidak akan berlaku sebarang konflik dengan linter dan pemformat.
Terdapat banyak cara alatan boleh digunakan dalam projek, dan secara peribadi saya lebih suka konfigurasi khusus ini: format simpan untuk lebih cantik dan jalankan pada jenis untuk eslint. Dengan cara ini, linter akan sentiasa menyemak isu linting semasa jenis pembangun, dan kemudian pemformat akan memformat perubahan secara automatik apabila simpan dicetuskan.
Bagaimanapun, untuk tugasan minggu ini, saya turut menambah skrip untuk membolehkan pengguna menjalankan pemformat dan linter secara manual melalui CLI. Cangkuk prakomit juga dilaksanakan untuk memastikan bahawa sebarang kod yang dikomit pada repositori memenuhi piawaian pemformatan dan linting projek. Dengan menambahkan cangkuk ini, saya boleh menjalankan Prettier dan ESLint secara automatik sebelum setiap komit, menangkap sebarang isu lebih awal dan mengekalkan konsistensi kod merentas sumbangan. Persediaan ini membantu mengurangkan kemungkinan isu pemformatan kecil terlepas dan meningkatkan kebolehbacaan kod untuk sesiapa sahaja yang bekerja pada projek itu.
Atas ialah kandungan terperinci Pemformatan dan Linting untuk konsistensi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!