Рефакторинг: мы им занимаемся, сами того не подозревая
Наши партнёры Наши проекты: IT Worldall CIOIT ContactIT Analytics
ВходРегистрация
X

Логин

Пароль

Запомнить

Забыли свой пароль?

Рефакторинг: мы им занимаемся, сами того не подозревая

Рефакторинг: мы им занимаемся, сами того не подозревая

| 29.09.2013

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

 

Эта книга сильно отличается от тех многих работ по программированию, которые я читал, изучал, на которые писал рецензии. Основные свойства технической литературы — изложение, обучение и «справочность».

И поэтому специалист, который уже находится в теме излагаемых вопросов, может читать книгу по частям, а не сначала, пропускать тексты и главы, получать только ту информацию, которая интересует его в данный момент. Так построено большинство IT-изданий, включая произведения классиков – Тома Кайта, Стивена Фернштейна, Кевина Луни, Дага Бурлесона и др. Исключение, конечно, учебники, их полагается осваивать постепенно, глава за главой.

Книга же Стефана Фаро принадлежит к другому, довольно редкому виду изданий, которые надо читать (обязательно) от начала и (не обязательно) до конца именно как литературное произведение с динамично развивающимся сюжетом. Допустимо ли такое в технической литературе? Да, но редко. Тем ценнее рассматривая книга.

Сразу поясню: я постоянно называю только одного автора — Стефана Фаро, от лица которого ведется повествование. Но необходимо упомянуть и его партнера, Паскаля Лерми, чья помощь в написании этой книги была столь значительна, что он справедливо указан в качестве соавтора.

 

Из Википедии: «Рефакторинг (реорганизация кода) — процесс изменения внутренней структуры программы, не затрагивающий ее внешнего поведения и имеющий целью облегчить понимание ее работы. В основе рефакторинга лежит последовательность небольших эквивалентных (то есть сохраняющих поведение) преобразований. Поскольку каждое преобразование маленькое, программисту легче проследить за его правильностью, и в то же время вся последовательность может привести к существенной перестройке программы и улучшению ее согласованности и четкости».

 

Сразу становится понятной позиция Стефана Фаро:

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

·           Известно, что нужно улучшить в плане функциональности, но нужно понять природу проблемы.

·           При анализе производительности первое, что нужно диагностировать: не достиг ли один из трех основных ресурсов (загрузка процессора, использование памяти, операции ввода/вывода) проблемного уровня. Это покажет, что нужно улучшить и как это сделать.

·           Меня привлекла идея рассказа о SQL с собственной профессиональной точки зрения.

Тем самым перед нами не что иное, как роман-исследование. Начинается он с пролога (глава 1 «Оценка»), где автор заявляет, что «рассматривает различные способы увеличения производительности, которые иногда  оказываются эффективными и не зависят от настройки параметров базы данных или обновления оборудования». Глава вторая («Проверка работоспособности») и третья («Пользовательские функции и представления») посвящены, по оценке автора, мечте любого менеджера – быстрым победам, когда изменения производятся на стороне базы данных, а не приложения (давно же известно, что сравнительная эффективность настройки приложения и базы данных составляет знаменитую формулу 80/20).

Далее идет речь об изменениях, которые можно внести в приложение:

Глава 4. «Концепция тестирования. Приводится правильная концепция данного процесса (при модификации кода важно обеспечить получение тех же результатов, что до внесения изменений).

Глава 5. «Рефакторинг операторов. Обсуждается правильный подход к написанию SQL-предложений и излагаются способы, как превратить оптимизатор в друга, а не врага.

Глава 6. «Рефакторинг задач». Рассматриваются использование SQL там, где он работает лучше, реструктуризация кода, введение управляющих структур в SQL и другие темы. Так что, овладев SQL-мышлением, можно «рассчитывать на успех», утверждает Фаро.

Глава 7. «Рефакторинг потоков и баз данных. Последняя надежда для тех, кто все еще не удовлетворен производительностью. Скорее всего, это шутливая посылка автора, поскольку полностью довольных производительностью нигде и никогда не встречается. Но сам Фаро, изменяя потоки, вводя параллелизм, логически и физически корректируя структуру базы данных, в качестве последнего шанса пытается повысить производительность. Недаром одна из подглавок названа «Потрясая основы». Бог ему в помощь!

Глава 8. «Как это работает. Практика рефакторинга». Она же – эпилог-заключение этого SQL-романа. Подводит итоги и дает рекомендации на будущее. Очень мудрое замечание: «Повышение производительности является итеративным процессом. Очень часто за проблемами, которые приходится решать, скрываются другие проблемы». Осмелюсь предположить, что от такого тезиса не отказался бы и автор «Диалектики» великий Аристотель.

 

Автор: Анатолий Бачин, к. т. н., «ФОРС – Центр разработки»

Теги: software

Еженедельник IT Weekly № 39/2013 (02.10)

Компания: Форс-Центр Разработки

Навигация:   РынокСобытия    БизнесIT-рынокSoftware


ВКонтакт Facebook Google Plus Одноклассники Twitter Livejournal Liveinternet Mail.Ru

Также по теме

Другие материалы рубрики

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

мероприятия

| 08.09.2016
II Industrial IT Forum

Санкт-Петербург, Культурно-деловой центр «Club House» пр. Медиков, д. 3

| 15.09.2016
Конференция IDC IT Security Roadshow 2016

Санкт-Петербург, RADISSON ROYAL ОТЕЛЬ, САНКТ-ПЕТЕРБУРГ, Невский проспект 49/2

| 21.09.2016 — 22.09.2016
II федеральный «ИТ-форум нефтегазовой отрасли России».

Санкт-Петербург, отель Four Seasons Hotel Lion Palace St.Petersburg (Санкт-Петербург, Вознесенский пр., д.1)

| 22.09.2016
«Телеком 2016: правовые вопросы, законодательные ответы»

Москва, отель Марриотт Роял Аврора

Также смотрите

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

Бум на облачные сервисы, который так давно предрекали визионеры и футурологи мира информационных технологий, наконец-то наступил: по итогам 2 ...
В рамках мониторинга ствола скважины DAS-технология производит порядка 2 Тбайт информации в день только по одному стволу. А это уже настоящие ...

Реклама

Журнал IT News продолжает осваивать региональные ИТ рынки России, а именно работать над проектом Региональные выпуски. Последние сводки: наши войска ...

Фоторепортажи

Мы в социальных сетях

Компании сообщают