За последние 24 часа нас посетили 17829 программистов и 1686 роботов. Сейчас ищут 936 программистов ...

Оцените, пожалуйста, говнокод..

Тема в разделе "Прочие вопросы по PHP", создана пользователем sanjsuper, 8 фев 2016.

  1. sanjsuper

    sanjsuper Новичок

    С нами с:
    8 фев 2016
    Сообщения:
    8
    Симпатии:
    0
    Скажите, на сколько этот проект говнокод? Конструктивная и деструктивная критика приветствуется. https://github.com/sanjsuper/framework_blog
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ну для начала этот говнокод сложно читать. форматирование пляшет, комменты уезжают за рамки фулхд монитора, в коде много мусора в виде закомментированной отладки. название переменных порой настолько дебильные что лучше было пропустить скрипт через обфускатор. у тебя пхп код в файлах с расширением tpl. ты не знаешь про short echo. ты подавляешь вывод предупреждений собакой. дальше лениво.
     
  3. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    Почему файл с отправкой письма на мыло называется "процесс", тоже малопонятно

    Добавлено спустя 1 минуту 41 секунду:
    Код (PHP):
    1. $im = @imagecreatetruecolor(100, 50)
    2.     or die('Невозможно инициализировать GD поток'); 
    а это как? подавить вывод ошибки или её вывести?)
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    матчасть тебе что по этому поводу говорит? ну или смекалка

    попробую оправдать автора. у меня тоже в миллионе проектов есть каталог proc в котором я устраиваю всякую порнографию в виде коротких сценариев для проверки какой-то фичи, быстрой наколеночной реализации чего-то что потом уйдет в нормальный класс, и тому подобное. думаю этот файл у автора может выполнять такую же функциональную нагрузку.
     
  5. sanjsuper

    sanjsuper Новичок

    С нами с:
    8 фев 2016
    Сообщения:
    8
    Симпатии:
    0
    Адекватненько, спасибо, критику принял. А в чем названия переменных плохи? Зачастую использую енг названия того, что есть или д.б. в этой переменной, так и называю. А форматирование кода пляшущее это более к хтмл или пхп? Спасибо!

    Добавлено спустя 1 минуту 20 секунд:
    Таки да, это завалялся небольшой файлик, который удалить нада. Тестировал в нем
     
  6. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    глядя на переменную с названием $arrays ты что себе представляешь? а почему потом там чо-то с модулями связанное ищется? или ты модулями называешь пользователей?
    про вообще
     
  7. sanjsuper

    sanjsuper Новичок

    С нами с:
    8 фев 2016
    Сообщения:
    8
    Симпатии:
    0
    Мда, соглашусь и с этим...

    Добавлено спустя 37 секунд:
    Да, спасибо большое, адекватная публика тут водится! Сразу такой фитбек=)

    Добавлено спустя 1 минуту 24 секунды:
    А если в глобальном, так сказать плане, такой код имеет право на жизнь? Именно с точки зрения php и моих недоскиллов=(
     
  8. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    прочитал и протестил :D
     
  9. sanjsuper

    sanjsuper Новичок

    С нами с:
    8 фев 2016
    Сообщения:
    8
    Симпатии:
    0
    Сознаюсь. Спырил этот кусок в дебрях инета, даже на php.net в примерах где-то=)

    Добавлено спустя 2 минуты 35 секунд:
    Таки да, пример с пыхинет $im = @imagecreatetruecolor(120, 20)
    or die('Невозможно инициализировать GD поток');
    $text_color = imagecolorallocate($im, 233, 14, 91);
    imagestring($im, 1, 5, 5, 'Простая Текстовая Строка', $text_color);
    imagepng($im);
    imagedestroy($im);
     
  10. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    framework_blog/module/admin/user.php
    Код (PHP):
    1. if(isset($_POST['sub_user']) && $_POST['captcha'] == $_SESSION['captcha']){
    2.     $user = new User;
    3.     $success = $user->get_user($_POST);
    4.     if($success !== false){
    5.         header("location: /admin/user");
    6.         exit();
    7.     }
    8. }elseif(isset($_POST['sub_user']) && (!$_POST['captcha'] == $_SESSION['captcha'])){
    9.     $_SESSION['reg_error_captcha'] = "Не верный код капчи";
    10. }
    11.  
     
  11. sanjsuper

    sanjsuper Новичок

    С нами с:
    8 фев 2016
    Сообщения:
    8
    Симпатии:
    0
    Можно просто елс, да? или это вобще говнокод?
     
  12. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Код (PHP):
    1.     <?=$res[0]['text_article']?>
    Сделайте какой-нибудь контейнер для переменных шаблона. Развейте как-нибудь эту тему.
    framework_blog/lib/db_class.php
    Добавьте single_select()
     
  13. sanjsuper

    sanjsuper Новичок

    С нами с:
    8 фев 2016
    Сообщения:
    8
    Симпатии:
    0
    Меня зовут Александр, мне 24, можно на ты=) Спасибо за критику, учту. Только немного не понял о контейнере для переменных. Это типа сделать в моделе контейнер, который полуит все данные, а в отображении выводить эти данные?
     
  14. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Лежит
     
  15. sanjsuper

    sanjsuper Новичок

    С нами с:
    8 фев 2016
    Сообщения:
    8
    Симпатии:
    0
    Даже больше скажу) не существует) ибо это на опен сервере запилено, вот этот сайт http://sanjsuper.0fees.us
     
  16. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Беда...
     
  17. sanjsuper

    sanjsuper Новичок

    С нами с:
    8 фев 2016
    Сообщения:
    8
    Симпатии:
    0
    Не, ну ты не подумай, эт не проект века, так, на заюзаном шабе фреймворк строю. Вобще на уникальность и работоспособность не претендую, главное код, главное начинка для фреймворка
     
  18. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Папка .idea в проекте не нужна, исключи ее. Ты ведь не помнишь, чтобы создавал такую сам? Это служебная папка пхпШторма, от нее ценности в репозитории - ноль.

    Добавлено спустя 9 минут 36 секунд:
    Хм...в папке module, как я понял, хранятся, внезапно, шаблоны и логика страниц? Так?

    1) Почему папка называется module, а не, как минимум modules?
    2) Почему она вообще называется производным от module, а не от page? В чем модульность выражается данного подхода?

    Расскажи подробнее об архитектуре проекта и, непосредственно, модульного "движка".
     
  19. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    framework_blog/lib/user_class.php
    Функция update_pass не нужна, у тебя есть же update_user.
    И этот класс смахивает на модель. Следует добавить логику моделей и вывести их в отдельные директории.

    Добавь неймспейсы и в автолоадере отталкивайся от них, изи.

    Добавлено спустя 3 минуты 45 секунд:
    framework_blog/lib/config_class.php
    Почему конфиг как класс со статичными переменными ?
    Сделай подгрузку json/yaml/ini, плюсом было бы разграничение по окружению dev/prod.

    Добавлено спустя 3 минуты 5 секунд:
    framework_blog/lib/load_class.php
    Код (PHP):
    1. if($size > 20480000) return false;
    2.  
    Было бы неплохо сварганить ексепшены и хандлить их с подвязкой в шаблонах. Иначе никакой информативности. Хотя бы на уровне логов.

    Добавлено спустя 2 минуты 10 секунд:
    framework_blog/lib/stats_class.php
    Я в сомнении относительно этого функционала. Лучше бы логирование добавил, а там и статистику собрать не сложно. Ну эт дело вкуса.

    Добавлено спустя 2 минуты 9 секунд:
    framework_blog/lib/usertools_class.php
    Функционал модели. Не так много всего чтобы создавать это в отдельном классе. На вкус канеш.

    Добавлено спустя 4 минуты 13 секунд:
    Вырежи весь контент из репы. Оставь только фонты для капчи. Сделай простой шаблон, грузи нужное через cdn. Убери в сраку ебаный htaccess и прочее говно, которое не нужно.

    Добавлено спустя 2 минуты 23 секунды:
    И придумай хоть какое название. Yet another blog framework.