Super globals и размер на методите - Netbeans
Здравей, IDE - тата използват PSR (PHP Standards Recommendations) за валидиране на кода и съобщаване на потребитля дали следва стандарта и ако не - дава hints как може да се подобри кода. Да проверката може да се спре, но не е препоръчително, все пак тези стандарти са общо приети и е хубаво да се спазват до колкото може. Разбира се има случай в който може и да не се спази дадено условие в зависимост от ситуацията.
Съветвам те да потърсиш и да прочетиш всичко свързано с PSR.
За PSR съм чувал много добре и търсих в php-fig и в google, но никъде не намерих: Метода трябва да е макс 20 реда и точка. Единствено Netbeans ми го казва това с възможност да увелича лимита на редовете или дори спра цялото известие. Въпроса ми е до колко това известие е релевантно в реалния свят и в един проект, особено ако е по-голям, редовете на методите са под 20?
Много зависи от случая и какво точно правиш. Защото примерно може да имаш един switch ... case, който спокойно ще мине 20 реда код и това не може да го промениш.
Идеята е в един метод да нямаш много логика, да бъде простичък и разбираем, като го види някой метода и веднага да разбере какво се случва в него. Логиката трябва да се разбива в класове и да се използват външни компоненти, все пак ако това което искаш да напишеш като код вече го има написано, ами използвай го.
Ще ти дам пример с това което каза в първия ти пост за валидацията на входните данни. Може да се направи с един валидатор който да прави валидацията автоматично, това което трябва да направиш е само да опишеш какви входни данни очакваш и от какъв тип, това може да стане примерно с анотации (annotation) над всеки action в контролирите или да ги опиешеш в някакъв файл. По този начин в метода няма да имаш и 1 ред код за основната валидация на входните данни.
Това със 20 - те реда код може би е направено с цел да се намали така наречния "boilerplate code".
Изнасянето на дадени логически конструкции в отделни класове и методи ще допренесе за:
- Премахването на дублирания код
- Четимостта на кода
- По лесно отстраняване на грешки и разбира се възможността за такива
- 1
30 Септември 22:52