30 вредных советов для php-разработчиков

в 16:43, , рубрики: php, вредные советы, ненормальное программирование, ооп

Я не стал сильно заморачиваться и расписывать очевидные факты, но большинство моментов, которые меня пугают в коде, тут изложены. Я постарался сделать список особо лаконичным, чтобы вам не пришлось вчитываться, но и максимум понятным, чтобы даже новички поняли что так делать нельзя. В общем ниже список моих вредных советов, основанных на том, с чем я сталкиваюсь в повседневной жизни.

30 вредных советов для php-разработчиков - 1

Итак поехали:

  1. Обязательно пишите вёрстку прямо в php-скриптах и выводите её только через echo (зачем-то же нужна эта конструкция языка).
  2. Старайтесь использовать как можно больше echo в ваших проектах, помните, что её придумали крутые разработчики языка, до которых вам далеко.
  3. Прописывайте параметры подключения к БД в каждом файле где это нужно, и нигде не храните инфу о том где и какие конфигурации прописаны — пусть все остальные развиваются до вашего уровня.
  4. Создавайте как можно больше подключений к БД в разных частях проекта, желательно чтобы многие из них вызывались одновременно, вообще создавайте новое подключение к БД при каждом запуске любой функции.
  5. Не используйте стандартные функции языка — пишите свои, они будут работать в 100 раз лучше и именно так, как вам нужно.
  6. Подключайте все файлы проекта в любом месте проекта даже если вам нужна всего одна функция.
  7. Используйте массив GLOBALS — без него вообще никак, разработчики языка придумали его для вашего удобства, а вот проблемы с закончившейся озушкой это проблемы сервера, а не языка.
  8. Вызывайте функции и используйте циклы прямо в верстке, это вывод информации, там без функций никак.
  9. Ни в коем случае не используйте mysql-параметры, пишите переменные $_GET, $_POST, прямо в запрос, чтобы не тратить лишнее процессорное время, оно для нас очень важно.
  10. Дублируйте один и тот же метод во всех классах каждый раз, когда он вам понадобится, забудьте про наследование это пережиток прошлого.
  11. Используйте только статические методы и свойства, не нужно создавать объекты, классы придуманы не для этого.
  12. Методы классов, работающих с БД должны возвращать РЕСУРС и никак по-другому, лучше используйте while каждый раз когда получаете данные от класса.
  13. Обязательно делайте sql-запросы в циклах, это очень важно, иначе как вы получите все записи из таблицы?
  14. Храните дату и время в полях типа varchar, потому-что поле datetime имеет какой-то свой странный формат.
  15. Создайте себе поле в таблице, где для каждой записи будете дописывать через <br /> все изменения с записью, и обязательно именно так. Ни в коем случае не создавайте отдельную таблицу логов, зачем нам лишний файл на диске.
  16. Не создавайте много ячеек в таблицах БД, лучше используйте seialize и забудьте про кодировку при сохранении, если unserialize каждый раз выдает ошибку, просто игнорируйте её.
  17. Вообще игнорируйте ВСЕ ошибки в проекте, выключите error_reporting — он только мешает, не будьте задротами.
  18. Никогда, слышите, никогда не проверяйте переменную на существование, просто выводите её прямо в шаблон, после пункта 17, Notice для вас уже не проблема.
  19. Пишите только так for($i=0; $i<count($arr); $i++), потому-что считать количество элементов в массиве при каждой итерации это хорошо, а постинкремент работает намного быстрее, а кто говорит наоборот просто не знает о чем говорит. И перебирать большой массив нужно именно сначала, потому-что так быстрее.
  20. Не используйте парсинг ни в каком виде, это очень плохо, лучше скачивайте страницу целиком вместе с версткой и сохраняйте её в БД прямо как получили, не тратьте время на парсинг, тем более использование DomDocument очень замедляет проект, и его же еще учить нужно, а вам некогда — надо проект писать.
  21. Храните всю информацию о пользователях в одной таблице — данные для авторизации, анкетные данные, домашние адреса и телефоны, места работы, да вообще любую информацию храните в одной таблице и не забывайте про serialize
  22. Не используйте индексы и ключи в БД, и тем более связи между таблицами, это очень плохо.
  23. Никогда не используйте таблицы-справочники, лучше дублируйте все в одной колонке, тем более если колонка содержит большие и часто повторяющиеся данные.
  24. Вы слышали про стандарт именования функций и методов? Забудьте! Кто вообще придумал что в именах функций должна быть какая-то логика, да и функции с именами a(), b(), aa() намного короче вызывать.
  25. Делайте функции как можно больше, если программисту лень читать что делает функция — он плохой программист.
  26. Никогда и нигде не пишите комментарии, потому-что тру-прогерам они не нужны, в худшем случае можно написать коммент типа /*это функция a(), она принимает две переменные $a и $b*/ для совсем тупых.
  27. Функции должны принимать как можно больше параметров, делать с ними кучу самых разных действий и возвращать всегда непредсказуемый результат, чтобы всё-таки заставить прогеров прочитать их исходники.
  28. Так как мы уже решили не использовать наследование, повторно писать функции с других классов, то надо дополнить это еще и тем, что класс должен быть не меньше 1000 строк, и чем он больше, тем лучше.
  29. Для того чтобы получить по-настоящему большой класс, нужно для каждой скобочки выделять целую строчку, нужно обязательно создать очень много свойств класса, на всякий случай, а еще мы помним что ни в коем случае нельзя использовать стандартные функции php — всегда пишем свои.
  30. И последнее, допустим что вам нужен скрипт, у которого действия меняются в зависимости от даты (а вдруг), обязательно пишите эту дату прямо в скрипт, чтобы каждый раз заходить и исправлять её руками, чтобы всегда держать скрипт под контролем.

Спасибо за внимание!

Автор: McLotos

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js