?

Log in

No account? Create an account
обычная картина по утрам в моей комнате=

Михаил Г-ский

Моя жизнь, мои достижения | Записки другого мизантропа

Entries by category: it

Про DataLife Engine (DLE) CMS
WHY face
mixoil
(keywords: DLE — говно, DataLife Engine — говно)

Сразу предупреждаю не специалистов: ниже содержится профессиональное техническое глумление.

Краткое содержание: DLE (DataLife Engine) насыщен объективными, измеримыми научным методом ошибками как в структуре базы данных, так и в программном коде. Эти ошибки, в ряде случаев, приводят к значительному замедлению работы сайтов, во всех случах: делают невозможной профессиональную доработку движка. То есть, его можно с грехом пополам дорабатывать, но делать этого не стоит, слишком высокий maintenance cost.




Мне досталась интеграция одной моей системы (нетипового проекта высокой степени новизны и выше средней сложности) в сайт на некоем движке DLE (вроде я когда-то что-то такое слышал, но раньше не сталкивался).

Хочется плакать кровавыми слезами, причём как от кода, так и даже от структуры базы данных.

Сначала я был в шоке, потом я плакал, потом я смеялся, потом — всё это одновременно.

Напишу только про базу данных — иначе, если рассматривать и описывать систематические анти-паттерны в коде, то нужно надолго бросать всю остальную работу :-)

Для тех, кто знает SQL, имеет время и вдохновение...Collapse )

В общем, из 39 таблиц базы данных не нашлось ни одной технически грамотной.
(Лексически грамотные встречаются, но даже с этим проблемы.)

Цитата из программного кода (да, там так прямо в коде и написано; кому вообще может понадобиться многоязычность в back-end?), здесь прекрасно всё, но завершение — особенно бесподобно:
if ($chmod_value == 777 ) return "File {$url['path']} is in the folder, which is available to write (CHMOD 777). For security purposes the connection files from these folders is impossible. Change the permissions on the folder that it had no rights to the write.";
(Вспомнилось незабвенное "You're right, I'm left, she's gone".)

Коллеги! С таким уровнем владения английским нужно не выёбываться с этими непонятными вам php, javascript и SQL, а писать на родном «языке 1С», где всё на русском и «каждый бухгалтер может сам доработать для себя нужную функциональность»*.
(* — ложь.)

Я глумлюсь, конечно...
(«Я глумлюсь, следовательно, я существую.» (с))

Последние штрихи для самых сильных читателей:

Пароли хранятся в md5 (пздц), который наложен дважды (пздц2).
Нет, я серьёзно, слово "пароль" становится "e242f36f4f95f12966da8fa2efd59992", но в базу записывается md5 от этого: "0071c590456eed568122a658be38d664".
$md5_password = md5( $md5_password );, я не шучу.

Запрос "SELECT * FROM _users WHERE {$where_name} AND password='{$md5_password}'" прекрасен, я считаю.
Прекрасно в нём всё — и звёздочка, и совершенно не избыточный пароль в запросе, и LIMIT 1 :-)

$username = $db->safesql(trim( htmlspecialchars( stripslashes($username), ENT_QUOTES, $config['charset'])));
Ого... то есть, safesql ничего из этого не делает ROFL?! :-D

Нет — я понимаю, что у каждого класса работ есть покупатель, но разве можно вообще выпускать такие продукты?
Это же даже хуже, чем «но как же без ручек?!..»

Это же просто наебалово.

И вот такая дрянь, как я недавно видел то ли на Хабре, то ли в CMS Magazine — четвёртая по популярности среди движков «из коробки» в зоне ru.
Беда.

Смотрю я на всё это (данный пример, по своему дебилизму, один из самых «тяжёлых», но ужасающе низкий уровень качества — мягко говоря, не редкость) и невольно думаю, что как ни крути, а имеет смысл лицензировать право на программирование... :-(

Завершу цитатой с Хабра (из статьи полуторалетней давности, по другому вопросу, не про DLE):
«Письмо разработчикам я так и не написал, потому что каждый раз начинал его словами "Вы совсем оху....?"»