Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вопрос по качеству кода

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Я говно кодер?
No0k
Отправлено: 19 Мая, 2014 - 16:51:42
Post Id


Новичок


Покинул форум
Сообщений всего: 44
Дата рег-ции: Янв. 2014  


Помог: 0 раз(а)




Форумчене, помогите пожалуйста определить. Говнокод или нет?

Код создания категорий (в case break, потому что будет много разделов):
Спойлер (Отобразить)


Вот код самого вывода:
Спойлер (Отобразить)


Можете подсказать ошибки? Радость
Если говно код, то аргументируйте пожалуйста. Заранее благодарю. Подмигивание

И еще вопрос, я выводил там див так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. echo '<div class="menu">';
  4. // код
  5. echo '</div>';
  6. ?>
  7.  

или лучше закрыть PHP синтаксис, написать на HTML и потом обратно открыть?

(Отредактировано автором: 19 Мая, 2014 - 16:55:48)

 
 Top
Мелкий Супермодератор
Отправлено: 19 Мая, 2014 - 17:20:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




No0k пишет:
в case break, потому что будет много разделов

Говнокод. (спойлер открыть ещё не успел)
Читайте "Совершенный код" С. Макконнелла, "Рефакторинг. Улучшение существующего кода" М. Файлера
switch - это всегда кандидат на рефакторинг, тем более в языке, умеющем ООП - switch заменяется полиморфизмом.

No0k пишет:
или лучше закрыть PHP синтаксис, написать на HTML и потом обратно открыть?

Лично мне не нравится эта гора echo.
А зачем открывать обратно?


-----
PostgreSQL DBA
 
 Top
Bio man
Отправлено: 19 Мая, 2014 - 17:30:44
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




Конечно говнокод.
Нужно как то разделять представление от логики, например, с помощью MVC паттерна.
А еще лучше сразу учить ООП (например, можно взять несложный фреймворк и изучать его, yii, например).
Маконелл будет сложноват для чайника, я бы посоветовал начать с М. Зандстры.
Удачи!
 
 Top
Мелкий Супермодератор
Отправлено: 19 Мая, 2014 - 18:59:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Bio man пишет:
Маконелл будет сложноват для чайника

А мне кажется в самый раз - когда говнокод ещё не вошёл в привычку (привычку ломать трудно), но написано достаточное количество кода, чтобы задуматься: говнокод ли это.
Через год-два - перечитать ещё раз.
Вот Фаулера возможно и рановато.


-----
PostgreSQL DBA
 
 Top
EuGen Администратор
Отправлено: 19 Мая, 2014 - 19:11:22
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Процедурный код. Спагетти. Плохой код. Потому что он его невозможно изолировать. А, значит, невозможно тестировать. Это - одна из причин, по которой одной из хороших практик считается объектный подход.

Для объектного же подхода рекомендую ознакомиться с тем, что такое:

* Dependency injection
* Law of demeter
* S.O.L.I.D.

Для начала должно хватить.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
DelphinPRO
Отправлено: 20 Мая, 2014 - 09:58:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




а я по coding standards сделаю замечание Улыбка
вводная статья - на вики
а вот несколько стандартов для PHP - habrahabr[dot]ru/post/38214/


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
esterio
Отправлено: 20 Мая, 2014 - 12:07:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




ну есть же PSR-ы
https://github[dot]com/dotzero/fig-s[dot][dot][dot]ster/accepted/ru
здесь перевод на русский PSR-0, PSR-1, PSR-2
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB