Отправляет email-рассылки с помощью сервиса Sendsay

Инженерные практики Agile

Новая рассылка "Инженерные практики Agile"

Добрый день, читатель!

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

Причём тут Agile? Agile как подход быстрой разработки программного обеспечения
накладывает серьезные требования к разработчикам (основной производственной силе
проекта). Поэтому основатели Agile ещё задолго до определения манифеста (см.
http://agilemanifesto.org) разработали множество полезных техник, подходов и
практик. А после подписания манифеста эти подходы стали основными инструментами
Agile-команд. Это - рефакторинг, design patterms, implementation patterns, patterns
of enterprise application architecture, test-driven development, agile modeling,
CRC и другие (включая стандартные подходы: UML, Use Cases и т.п.)

Организована рассылка будет просто. Раз в неделю, а может быть чаще я (с учётом
ваших писем) буду выделять одно из решений в области качественного кода. Конечно
же за подсказками обратимся к Макконелу, Фаулеру, Кент Беку и другим авторам.
Но и сами попытаемся разобраться к чему приведёт нас то или иное решение.

Думаю, что для первого сообщения достаточно. В заключение сразу предлагаю перейти
к целям рассылки. Давайте обсудим решение <<Encapsulate Fields>>

Encapsulate Field: There is a public field. Make it private and provide accessors.

Вариант 1.
public String _name

Вариант 2.
private String _name;
public String getName() {return _name;}
public void setName(String arg) {_name = arg;}

Литература: Мартин Фаулер. Рефакторинг.

Я всегда делаю вариант 2. Скрытие данных за вызовом метода позволяет мне более
гибко управлять данными. Так я могу сделать <<отложенное создание>> или вообще
перенести данные в другой класс, например базовый &#61514;

Что вы думаете?

С Уважением,
Денис Миллер

Ответить   Sun, 27 Jan 2008 17:29:06 +0300 (#720956)