Coding Conventions
PHP
Πρότυπο: PSR-12 στυλ κωδικοποίησης
Δηλώσεις τύπων: Χρησιμοποιήστε δηλώσεις τύπων PHP 8.2 (τύποι παραμέτρων, τύποι επιστροφής, τύποι ιδιοτήτων)
Αυστηροί τύποι: Όλα τα αρχεία PHP πρέπει να δηλώνουν
strict_types=1Χώροι ονομάτων: Ακολουθήστε αυτόματο φόρτωμα PSR-4 (π.χ.,
Chamilo\CoreBundle\Entity\User)Πρότυπα Symfony: Ακολουθήστε τα πρότυπα κωδικοποίησης και τις βέλτιστες πρακτικές του Symfony
JavaScript/Vue
ESLint + Prettier: Ο κώδικας ελέγχεται με ESLint και διαμορφώνεται με Prettier· η διαμόρφωση βρίσκεται στο
eslint.config.mjsστη ρίζα του έργου. Τοprettier-plugin-tailwindcssείναι επίσης ενεργοποιημένο για αυτόματη ταξινόμηση Tailwind κλάσεων.Composition API: Χρησιμοποιήστε τη σύνταξη
<script setup>του Vue 3 για νέα στοιχείαTypeScript: Το TypeScript υποστηρίζεται· χρησιμοποιήστε το για κώδικα ασφαλούς ως προς τους τύπους
CSS
Tailwind CSS: Προτιμήστε κλάσεις χρησιμότητας αντί για προσαρμοσμένο CSS
Ονοματολογία BEM: Όταν απαιτείται προσαρμοσμένο CSS, χρησιμοποιήστε τη σύμβαση ονοματολογίας BEM
SCSS: Χρησιμοποιήστε SCSS για σύνθετα φύλλα στυλ
Εργαλεία Στατικής Ανάλυσης και Αναδιάρθρωσης PHP
Το έργο περιλαμβάνει διαμόρφωση για τρία επιπλέον εργαλεία:
PHPStan
phpstan.neon
Στατική ανάλυση (επίπεδο 5, σαρώνει src/ και καταλόγους δοκιμών)
Psalm
psalm.xml
Δεύτερος κύκλος στατικής ανάλυσης· εκτελείται σε CI σε κάθε push
Rector
rector.php
Αυτοματοποιημένες μετασχηματισμοί και αναβαθμίσεις κώδικα
Εκτελέστε τα μέσω συντομευμένων εντολών composer: composer phpstan, composer psalm. Δείτε Δοκιμές για πλήρεις εντολές.
Γενικά
Αγγλικά: Όλα τα σχόλια κώδικα, ονόματα μεταβλητών και τεκμηρίωση πρέπει να είναι στα Αγγλικά
Μεταφράσεις: Όλο το κείμενο που απευθύνεται στους χρήστες πρέπει να χρησιμοποιεί το σύστημα μετάφρασης (Vue I18n για το frontend, Symfony Translator για το backend)
Χωρίς μαγικές τιμές: Χρησιμοποιήστε σταθερές ή enums αντί για hardcoded τιμές
Τελευταία ενημέρωση
Ήταν χρήσιμο αυτό;