Как стать автором
Обновить

Комментарии 10

Я не знаю как принято писать код в DLE, но ваш пример кода ужасен, извините за откровенность.
Вы когда-нибудь слышали про такие понятия как: разделение данных и представления, константах(magic numbers), ну и множества других приемов программирования, улучшающих качество кода?

Про всякие die(«Hacking attempt!»), лучше промолчу.
>>>Я не знаю как принято писать код в DLE
В DLE (во всяком случае, я смотрел внутрь 9.0) такой код и есть. И это печально.
Объясните что плохого в этом коде. Этот код служит всего лишь для того, чтобы сценарий нельзя было запустить напрямую. Без него можно было обойтись, но это плохое решение.
Ну die(«Hacking attempt!») это стандартная проверка, так во всех файлах движка и со своей задачей справляется, не вижу ничего плохого.

Ну а в целом, мне кажется, качество кода довольно хорошее. Единственная моя оплошность — плохие имена переменных. Но я думаю что любой новичок, прочитав статью и комментарии к коду, разберется что к чему.

Насчет разделения данных и представления: это пример простого модуля, тут идея в том, что все в одном файле, все доступно и понятно. Можно было сделать на шаблонах, но здесь это не нужно, поверьте мне.
Ну а в целом, мне кажется, качество кода довольно хорошее

Значит вы просто не видели код «хорошего качества». Ваш код ужасен. Не тратьте времени даром, качайте Yii или Symfony — изучайте их исходники, параллельно читайте Макконела и Фаулера.
я когда однажды код DLE ковырял с целью модификации, у меня волосы на голове шевелились. Никогда бы не взялся поддерживать и расширять такое добровольно
DLE is die(«Hacking attempt!»)

з.ы. такого добра во всем движке хватает

по поводу написания модулей — мне интересно
Не знаю структуру таблиц dle, но в код $row['autor'] выводится без проверки, так же как и $row['alt_name']. Насколько понятно из название полей, это все пользовательские данные. И при определенных обстоятельсвах, можно нарватья на xss.
Вот это полезное замечание, спасибо. Но имя пользователя фильтруется при регистрации, поэтому тут все нормально.
А лицензия на DLE есть у вас?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации