Перейти к контенту

Как мы ломали

  • записи
    24
  • комментариев
    147
  • просмотров
    16 238

Аватары


MiksIr

328 просмотров

Первой глобальной затеей по ковырянию кода и первой серьезной "боевой" проверкой разработчика нашего стала реализация множества аватаров. Думаю, очень многие пользуются ЖЖ, закачали себе туда аватаров и выбирают... от настроения, от смысла поста. Вот и мы(я) захотели такое - даем пользователю закачивать до N аватаров, и выбирать при создании сообщения - какой аватар он хочет.

Возможно даже мод такой готовый есть, но тут уж... лучше пострадать из-за своих внутренних ошибок, чем из-за чужих совсем ;) Дифф этого дела постить не буду - он эдак килов на 140 получился, зато несколько дней время до дома мне скрашивала распечатка этого диффа - проводил ревизию ;)

А встроенная галерея аватаров готовых была нафих удалена - и все увидели, что это хорошо ;)

36 комментариев


Рекомендуемые комментарии



Я где-то писал другое?

 

Речь изначально шла о быстром переписывании какого-то старого кода, на что было замечено что код можно не только переписывать, но и рефакторить (что, кстати в случае с большими приложениями правильнее). После этого был задан вопрос когда можно рефакторингом назвать переиску с 0, на что было сказано - когда функциональность внешняя (читай бизнес-модель) не изменится. Конечно это не будет чистым рефакторингом в понятии - последовательности небольших сохраняющих поведение преобразований, но результатом и того и другого будет изменение внутренней структуры программы при сохранении её внешнего поведения. Другими словами смотря со стороны на итоговый код никто (кроме разработчика) не сможет сказать был ли он получен рефакторингом или же переписываеием с нуля (опять же для фантазеров, скажу что данное утверждение имеет смысл быть, только в случае если внутренняя структура программы была полностью изменена)

 

Собственно я нигде не призывал переписывать с 0 большие приложения и уж тем более рефакторить трудночитаемый, понимаемый, разбираемый код.

Ссылка на комментарий
Да. Вы называете разработку продукта "с нуля" с таким же поведением, как старый - рефакторингом. Однако, это не рефакторинг. И вообще создание с нуля продукта с той же функциональностью не только абсурдно, но и при больших проектах - очень и очень затруднительно и более того - вредно.
Ссылка на комментарий

Да тут подумалось.

Если рефакторинг рассматривать как процесс то ничего общего с написанием программы с 0 он не имеет.

Если же рефакторинг рассматривать как термин, то пост №24 довольно таки легко к данному термину привязывает процесс переписывания программы с 0.

Ссылка на комментарий

Решил ради спортивного интереса тоже заняться данным модом. Посидел, подумал, в результате всё получилось. Но вот с реализацией имхо чуток подкосило.

В моём случае, данные об аватарках хранятся в отдельной таблице и посредством настроек (чтобы можно было включить\выключить) подгружаются при необходимости. Но вот вывод аватарок в теме затрудняется из-за кэширования пользователей. Поэтому, замену на динамические аватарки пришлось делать непосредственно перед выводом поста (да-да... решение через букву Ж) соответственно на каждый пост получается +1 запрос.

Поэтому, хотелось бы спросить: а как реализовали вы?

Кода не надо, просто на словах или хотя бы в какую сторону копать.

Ссылка на комментарий

Мы не стали делать отдельную таблицу - это не нужный оверхед. Вся информация об аватарах хранится в юзерской таблице в виде сериализованного массива. Плюс, в таблицу сообщений добавлено поле, где хранится использованный в этом сообщении аватар.

Так как юзерская таблица всегда грузится, то кол-во и тяжесть запросов не изменилась.

Ссылка на комментарий

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.