Прошла одна из самых странных недель. На работе приехали два молодых сотрудника, которым нужно было передать максимум информации за 5 дней. Так же передача дел от тех, кто уходит в отпуска и оставляет меня за главного. В субботу поездка в Брянск одним днем.
Конечно, время на развитие навыков рефакторинга ушло. Задачу прошлой недели успешно закончил, сейчас избавляюсь от кусок старого кода в этой же функциональности. В итоге простое выделение в класс функциональности, привело к тому, что начинает вырисовывать иерархия классов, даже можно рассмотреть применение паттерна Стратегия.
Раньше не понимал - зачем делать функции и методы на 5-20 строк, если таких места два или три, но сейчас вижу полезность - текущий код, который у меня вышел, действительно скрывает реализацию, и прикладному программисту не надо разбираться в десятках операторов, он просто вызывает метод LinkToObject, видит, что в параметрах нужен объект, и создает его. Ему не надо заморачиваться, разбираясь какое из 20 полей сущности БД в какое поле таблицы связки должно превратиться. Он просто вызовет конструктор объекта для привязки и передаст туда текущий объект, а конструктор подходящей реализации сам все сделает.
Код, который должен использовать прикладной программист прошел проверку менеджером - он с первого раза правильно ответил, что сделает функция, в которую инкапсулирован один процесс. Только по названию:) Все же переименование рулит:)
Комментариев нет:
Отправить комментарий