May. 7th, 2013

Reusing.

May. 7th, 2013 09:00 pm
sibuser: (Default)
Закончил один проект и меня перевели на следующий, который очень похож по свое структуре.
Вскоре я отчетливо увидел как все будет развиваться, если не предпринять меры по переиспользованию и небольшому рефакторингу кода в предыдущем проекте.

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

Проще и быстрее скопировать все и положить в новый проект, но скоро будет еще один и что? копировать опять? Так дело дальше не пойдет, ведь это надо еще и поддерживать. Решил создать модуль на JavaScript и назвать его utils в который можно положить все общее между проектами.

Зачем нам нужна реализация логирования в каждом проекте с незначительным отличием? Может лучше вынести эту часть кода и дать возможность передавать значение через параметры?
Создаем плагин на веб странице? Ок! Разница только в имени, но суть одна и та же. Вынес в утилиты.
Каждый раз мы создаем новый обработчик событий, но при этом разница только в keyCode. Коллеги по новой пишут обработчик событий простыми if...else, у меня же нормальная реализация с подписчиками на события и раздачей по идентификатору.

И ведь уже к новому проекту написали кучу кода на JavaScript, но при этом не посмотрели что у нас уже это есть и даже в лучшем варианте.

В тесты добавили нумерацию как уникальный идентификатор, при этом выглядит он как обычный порядковый номер теста. Клево все, но вот нам надо добавить новый тест в середину и присвоить очередной номер. Проект растет и увеличивается зоопарк. Теперь у нас есть 1-2-3-4..35-60-90-36...
И ведь я подходил к человеку за разъяснениями почему так сделано? Мне не дали внятных объяснений и я ушел. Ушел потому что был стажером и только начал вникать как все работает. Теперь я думаю пришло время поднять этот вопрос еще раз. Можем ведь сделать первым числом нумерацию, а потом идентификатор, который должен быть уникальным и не меняться на протяжении жизни всего проекта. В итоге мы получим что то похожее на "1|id_1|Description".

Два дня работы на новом проекте дали взглянуть на многие вещи со стороны и понять в каких местах я удачно продумал возможность пере использования, а где не очень.
sibuser: (Default)
Пишу посты и постоянно себя одергиваю на попытке прыгнуть в произвольное место текста, если надо поправить ошибку, нажатием комбинации на клавиатуре.

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

На днях добавил два навыка:
1. Перекидывать активную окно в другой буффер
2. Переключаться между файлами простым набором имени в диалоговом окне.

Теперь не надо искать глазами где же у меня этот файл.

Bus driver.

May. 7th, 2013 09:27 pm
sibuser: (Default)
Так как общественным транспортом я не пользуюсь, за ненадобностью, для меня каждая поездка целое событие.

Сегодня на входе в автобус приложил карту оплаты к терминалу, получил звуковое подтверждение и пошел занимать место.
Через 5 минут меня окликнул водитель автобуса и начал объяснять мне мою ошибку. Оказалось я оплатил не за одну поездку 12 крон, а за весь день и это целых 110 крон. Ничего себе поездочка до работы. А я даже не заметил, потому что уже забыл сколько денег лежит на проездном:) В последний раз я им пользовался в декабре.

Чертовски приятно, когда человек готов тебе помочь, а ведь он мог и промолчать, чтобы не заморачиваться.

Sibuser

sibuser: (Default)
sibuser

April 2015

S M T W T F S
   12 34
567891011
12131415161718
19202122232425
2627282930  

Most Popular Tags

No cut tags
Page generated Sep. 20th, 2025 04:38 am
Powered by Dreamwidth Studios