Ответ на пост «На конкурс ужасов от программирования»

Сейчас будет много мата. Кодревью, конечно, полезная вещь, но при единственном условии - если кодревьюер адекватен. На моем предыдущем месте работы было не так. Начать с того, что тимлид с искренним убеждением доказывал, что SQL слишком сложен и трудночитаем. Поэтому нужно обязательно использовать ОРМ. То, что ОРМ передает в запроcе полную хуйню - не ебет. Раз мы этого не видим - значит, этого не существует. Совершенно нормальная ситуация, когда надо обновить запись в базе: отправляем запрос на чтение записи. Создаем объект. Обновляем свойство объекта. Пишем объект в базу. Снова читаем из базы и смотрим, что получилось. Если нужно обновить два поля или больше в одной записи - повторяем столько раз, сколько потребуется. Это нормально. Ачетакова? Подумаешь, лишняя пара миллисекунд на запрос. Зато код красивый и читаемый, без сложного SQL. То, что таких нахуй ненужных запросов набираются тысячи и десятки тысяч - не, код не может тормозить из-за этого! Давайте добавим еще пару сотен запросов. Да, и у каждой сущности должен быть объект. Универсальный, всеобъемлющий. Надо обратиться к конкретной записи в конкретной таблице? Не, такнизя. Мы должны работать с объектом! Прочитаем 100500 связанных и не очень таблиц, построим объект, дамп которого будет занимать 300 экранов текста, и меняем свойство объекта. То, что методы этого объекта при записи будут переписывать и все 100500 связанных таблиц - не ебет. Зато красиво и удобно. Объектно!

Отдельная история про функции. Если в функции больше 20 строчек кода - все, это уже слишком сложно и нечитаемо. Вот вообще никак, не читаемо и все тут. Нужно разбить на 200 функций по паре-тройке строчек, раскидав их по разным модулям. Чтобы многократно вызывали друг друга перекрестно, рекурсивно и через жопу. 600 строчек кода в паре десятков файлов - это намного лучше, чем 20 строк в одной функции. То, что операция, которая может быть выполнена за один проход цикла, в результате крутится в 20 циклах (еще и каждый раз обращаясь к базе) - не ебет. Зато красиво.

О, еще бонус. Хочешь написать новую функцию? Не-не. Сперва посмотри, нет ли такой в уже готовых библиотеках. Есть, да не такая? Не ебет, натягивай сову на глобус. Вместо того, чтобы написать 5 строчек кода, делающих то, что нужно - мы подтянем библиотеку на пару сотен метров, которая делает не совсем то, что нам нужно, и понастроим к ней костылей.

Короче, я устаревший программист. Ебал я в рот эти новомодные тенденции. Зато я больше не удивляюсь тому, что сейчас любая софтинка, по функциональности не намного больше, чем hello world, непременно будет весить полтора гига, требовать 16 гигов памяти и тормозить на топовом компе.

IT-юмор

5.7K постов52.7K подписчиков

Добавить пост

Правила сообщества

Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору