Рефакторинг, когнетика и дезодорант 1 сентября 2009 |
В этой заметке речь пойдет об одном интересном совпадении, которое автор заметил, когда читал книгу Дональда Номана The Design of Everyday Things.
Речь пойдет о рефакторинге, который представляет собой набор приёмов для улучшения программного кода, о когнетике — науке, которая похожа на эргономику, но изучает не физические, а ментальные (умственные) ограничения человека, а также о дезодоранте, который, как оказалось, есть и там и там. Так как заметка может заинтересовать и дизайнеров и программистов — скажу пару слов о рефакторинге и когнетике. |
Дональд Норман, The Design of Everyday Things (USA, 2002. ISBN 0-465-06710-7) |
Рефакторинг
Итак рефакторинг — это, всего-навсего, набор приемов, которые позволяют сделать код лучше, но, что важно, не изменяя того, что это код делает. То есть внутри код становится лучше, а работает абсолютно так же как и до модификаций. Лучше обычно означает проще для понимания [другими программистами] и модификаций. |
Рассмотрим небольшой пример. Допустим ваш Директор, Артемий Лебедев, попросил вас написать программу для расчета заработной платы по его собственной методологии (потраченное время на коэффициент). Для простоты представим, что коэффициент для всех фиксированный и составляет 1,5. Упрощенный код такой программы мог бы выглядеть так:
IvanovsSalary := IvanovWorkingHours * 1.5; PetrovSalary := PetrovWorkingHours * 1.5; SidorovSalary := SidorovWorkingHours * 1.5;
Подобные ошибки в рамках рефакторинга называются плохими запахами. Описанный выше запах называется «Дублирующимся кодом» и может быть устранен, например, вынесением коэффициента в константу. const Factor = 1.5; IvanovsSalary := IvanovWorkingHours * Factor ; PetrovSalary := PetrovWorkingHours * Factor ; SidorovSalary := SidorovWorkingHours * Factor ;
|
avis_rara: |
Хотя количество вариантов отображения конфорок на ручки в поверхности с квадратным расположением остаётся неизменным, только один вариант является естественным и будет с легкостью понять большинством людей. |
Дезодорант
Все знают, что комментарии в коде — это хорошо. Однако в книге Мартина Фаулера про рефакторинг комментарии упоминаются в списке плохих запахов. Неужели Мартин считает комментарии плохими? — Нет, ни в коем случае. В этот список к плохим запахам комментарии попали потому, что часто они являются признаком плохого кода. Подобно дезодоранту они могут скрывать проблемы, выдавая плохой код за хороший.
|
Martin Fowler, Refactoring: Improving the Design of Existing Code (USA, 2000. ISBN 0-201-48567-2) |
Николай Товеровский При использовании материалов ссылка на ksoftware.ru обязательна. |