Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #71, ОКТЯБРЬ 2006 г.

чудеса легкости

ФЛЕНОВ МИХАИЛ

Спецвыпуск: Хакер, номер #071, стр. 071-052-5


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

Современные среды разработки автоматически форматируют код. Visual Studio и JBuilder делают это уже давно, а теперь и в Delphi появились подобные возможности. Но настройки JBuilder пошли дальше. Здесь можно выбрать, где и как должны располагаться скобки { и }. Существуют и отдельные мастера для разных сред разработки, которые автоматически отформатируют код.

[структура кода.]

Обычная сортировка методов также может повысить читабельность. Как сортировать методы? Это зависит от многих факторов, но желательно, чтобы порядок методов соответствовал заранее определенному правилу. Какие могут быть порядки?

1 ПО АЛФАВИТУ. БАНАЛЬНЫЙ, НО ОЧЕНЬ УДОБНЫЙ ПОРЯДОК, ПОЗВОЛЯЮЩИЙ БЫСТРО НАХОДИТЬ МЕСТО, ГДЕ ДОЛЖЕН РАСПОЛАГАТЬСЯ НУЖНЫЙ МЕТОД. РЕКОМЕНДУЮ ИСПОЛЬЗОВАТЬ ЕГО, КОГДА МОДУЛЬ/КЛАСС ОЧЕНЬ БОЛЬШОЙ И СОДЕРЖИТ ОЧЕНЬ МНОГО МЕТОДОВ.

2 ПО ТИПУ. СНАЧАЛА МОЖНО РАСПОЛОЖИТЬ МЕТОДЫ, УСТАНАВЛИВАЮЩИЕ ЗНАЧЕНИЯ СВОЙСТВ, ЗАТЕМ ПРОИЗВОДЯЩИЕ РАСЧЕТЫ, А ПОТОМ - ВЫВОДЯЩИЕ ИНФОРМАЦИЮ НА ЭКРАН.

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

[рефакторинг и безопасность.]

Если посмотреть на рефакторинг, то он не вносит в код ничего сверхъестественного. Безопасность остается на том же уровне, а производительность может даже упасть. Но это только на первый взгляд. На самом деле, безопасность растет, пусть косвенно, но очень качественно:

1 ВО ВРЕМЯ РЕФАКТОРИНГА ТЫ ЛУЧШЕ ПОНИМАЕШЬ КОД ПРОГРАММЫ И В ЭТОТ МОМЕНТ МОЖЕШЬ НАЙТИ НЕДОЧЕТЫ В ЛОГИКЕ.

2 СДЕЛАЙ КОД БОЛЕЕ ПОНЯТНЫМ, И ЕГО ЛЕГЧЕ БУДЕТ ОТЛАЖИВАТЬ И НАХОДИТЬ НЕДОЧЕТЫ.

3 ЕСЛИ МЕТОД ИЛИ КЛАСС ВЫПОЛНЯЕТ УЗКУЮ ЗАДАЧУ, ТО НАМНОГО СЛОЖНЕЕ СОВЕРШИТЬ ОШИБКУ.

Рефакторинг еще и решает одну простую, но очень важную проблему безопасности – защищает от возможных проблем в будущем. Через некоторое время, когда ты вернешься к коду для его улучшения или изменения возможностей, многое забывается, и если код плохой, то очень легко допустить ошибку и навредить безопасности. Ну как можно вспомнить через год, что определенная переменная внутри функции используется тремя разными способами и хранит различные данные. Чем проще код для чтения и проще использование методов/параметров, тем менее вероятна ошибка.

[refactoring complete.]

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

Назад на стр. 071-052-4  Содержание  Вперед на стр. 071-052-6