Andrej Sharapov, трансформация дом коллекции в массив, только ради того чтобы сделать у него map, который ничего не возвращает + создание функции в цикле
как итог - вместо O(n) у нас сложность O(3n), вместо 1 функции и 1 дом коллекции из n элементов у нас в памяти n функций, 1 дом коллекция из n элементов и 2 массива из n элементов - и вот Ваш сайт уже жрет мою оперативку и мои такты проца, а как следствие электричество, за которое я плачу свои кровнозаработанные, и при его посещении я захочу Вас проклясть и побыстрее закрыть Ваш тормозящий сайт
Артем, только нужно учесть несколько моментов:
- в КХ нет UPDATE (хотя подвижки в этом направлении есть)
- в КХ нет DELETE (в привычном понимании)
- КХ не любит много INSERT (быстрее вставить 10к за раз, чем 10 раз по 1к)
за функции в 20-40 строк кода, неплохо бы руки отрубать, аккуратно так, тонкими слоями начиная с кончиков пальцев и заканчивая локтями...
тем не менее пример наглядный, там где говнокод из длинных портянок, там как правило и с нэймингом проблемы
Viktor Ilukhin, если правильно понял, то лучше сделать так:
1. перенести наш каталог классов в отдельный репозиторий.
2. подключать его во все нуждающиеся проекты с помощью git submodules
Olek1, А теперь внимательно посмотрите на первые два объявления, те что рекламные. Как думаете откуда эти данные? Думаете менеджер заполнял для каждой страницы? Нет. Эти данные берутся из микроразметки schema.org
Составление этой разметки - работа SEO-шника, нормального SEO-шника, а не тех, что в веб-студиях работают
Olek1, Вот только настоящая SEO оптимизация, это не только про номер строчки в поисковике. Это больше про то, как Вы выглядите в поисковике, сколько полезной информации пользователь увидит не открывая сайт, а так же на сколько эта информация будет соответствовать запросу пользователя. А номер строчки в поисковике покупается у самого поисковика.
А теперь ответьте мне на вопрос: к кому наверняка обратится Ваш абстрактный американский пользователь, ищущий ремонт крыши, к первой строчке, где он видит только ссылку гласящую просто "Крыши", ил ко второй, где по мимо ссылки "Крыши" он видит небольшой перечень услуг, среди которой ремонт, номер телефона, адрес и часы работы? По первой строчке сайт не оптимизирован, пользователю нужно еще открыть сайт, убедится что ремонт входит в их услуги, найти на нем заветный номер телефона и позвонить, скорее всего набрав номер вручную. Это я еще не говорю о том, что скорее всего 1й сайт еще и не адаптивен и грузится очень долго.
А на 2й строчке, ему скорее всего даже не понадобится заходить на сайт, а если и зайдет - загрузка меньше секунды, мобильный вид на мобильнике (а юзер в 70% случаях будет с мобильника), а номер телефона кликабелен для звонка.
как итог - вместо O(n) у нас сложность O(3n), вместо 1 функции и 1 дом коллекции из n элементов у нас в памяти n функций, 1 дом коллекция из n элементов и 2 массива из n элементов - и вот Ваш сайт уже жрет мою оперативку и мои такты проца, а как следствие электричество, за которое я плачу свои кровнозаработанные, и при его посещении я захочу Вас проклясть и побыстрее закрыть Ваш тормозящий сайт