Rumah >hujung hadapan web >tutorial js >Pemformatan dan Linting untuk konsistensi

Pemformatan dan Linting untuk konsistensi

DDD
DDDasal
2024-11-07 15:30:02949semak imbas

Aktiviti ini melibatkan pelaksanaan alat analisis statistik ke dalam projek sumber terbuka saya GENEREADME untuk meningkatkan kualiti dan ketekalan kod.

Formatting and Linting for consistency cleobnvntra / genereadme

GENEREADME ialah alat baris arahan yang mengambil fail kod sumber dan menjana fail README.md yang menerangkan kod dalam fail dengan menggunakan LLM.

Contrubutions

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

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.

Formatting and Linting for consistency

Penggunaan

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&gt
genereadme examples/sum.js
genereadme examples/createUser.js
Lihat di GitHub

Pemformat

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.

Linter

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.

Cara menggunakan alatan

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn