Konvensi Pengkodean
PHP
Standar: Gaya pengkodean PSR-12
Deklarasi Tipe: Gunakan deklarasi tipe dari PHP 8.2 (tipe parameter, tipe pengembalian, tipe properti)
Tipe Ketat: Semua file PHP harus mendeklarasikan
strict_types=1Namespaces: Ikuti autoloading PSR-4 (misalnya,
Chamilo\CoreBundle\Entity\User)Standar Symfony: Ikuti standar pengkodean dan praktik terbaik Symfony
JavaScript/Vue
ESLint + Prettier: Kode diperiksa dengan ESLint dan diformat dengan Prettier; konfigurasi berada di
eslint.config.mjsdi root proyek. Pluginprettier-plugin-tailwindcssjuga diaktifkan untuk pengurutan otomatis kelas Tailwind.Composition API: Gunakan sintaks
<script setup>dari Vue 3 untuk komponen baruTypeScript: TypeScript didukung; gunakan untuk kode dengan keamanan tipe
CSS
Tailwind CSS: Lebih suka kelas utilitas daripada CSS kustom
Penamaan BEM: Ketika CSS kustom diperlukan, gunakan konvensi penamaan BEM
SCSS: Gunakan SCSS untuk lembar gaya yang kompleks
Alat Analisis Statis dan Refaktorisasi PHP
Proyek ini mencakup konfigurasi untuk tiga alat tambahan:
PHPStan
phpstan.neon
Analisis statis (level 5, memindai direktori src/ dan direktori pengujian)
Psalm
psalm.xml
Analisis statis kedua; dijalankan di CI pada setiap push
Rector
rector.php
Transformasi dan pembaruan kode otomatis
Jalankan melalui pintasan Composer: composer phpstan, composer psalm. Lihat Pengujian untuk perintah lengkap.
Umum
Bahasa Inggris: Semua komentar kode, nama variabel, dan dokumentasi harus dalam bahasa Inggris
Terjemahan: Semua teks yang ditujukan untuk pengguna harus menggunakan sistem terjemahan (Vue I18n untuk frontend, Symfony Translator untuk backend)
Tanpa Nilai Ajaib: Gunakan konstanta atau enum alih-alih nilai yang dikodekan secara langsung
Terakhir diperbarui
Apakah ini membantu?