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

Учимся упрощать код.


Информационный Канал Subscribe.Ru

Мир экстремального программирования

Новости

На горизонте русскоязычного Интернета появился новый, но интересный проект, посвящённый тестированию и обеспечению качества программного обеспечения: Тестер - Сервер тестировщиков и инженеров качества tester.com.ua. Адрес рассылки subscribe.ru/catalog/comp.soft.prog.tester.
Здесь Вы найдёте обзоры методологии и технологий тестирования, обзоры инструментария и литературы для инженера качества, обзоры типов тестов и терминологии применяемой как в тестировании так и смежных областях, обсуждения вопросов и технологий тестирования, отзывы специалистов о применяемых ими подходах, наиболее интересные проблемы с которыми сталкиваются в своей работе инженеры качества.
Тематика "Тестера" особенно актуальна для мастеров экстремального программирования, ведь автоматизированное приёмочное и модульное тестирование являются ключевыми для данной методологии.

Изучаем методики XP

Учимся упрощать код.

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

Целью упрощения кода является уменьшение затрат на внесение последующих изменений и выявление скрытых ошибок. Существует ряд правил простоты. Слова Кента Бека в интерпретации Рона Джеффриеса и моём переводе звучат следующим образом:

  1. Все тесты выполняются корректно.
  2. Отсутствует дублирование.
  3. Выражены все идеи, которые были обоснованы для программы.
  4. Количество классов и методов минимально.

Указанная последовательность правил определяет их приоритетность. Совсем не обязательно стараться написать сразу код, который будет находиться в балансе между всеми этими правилами. Главное добиться выполнения всех тестов. Всё остальное будет возможность достичь в рамках рефакторинга.

Этими правилами можно охватить достаточно широкий круг возможных ситуаций из программистской практики. Например, очень часто программисты прибегают к совсем не методичному подходу, который в народе получил название "Copy-Paste". Он заключается в создании нового кода путём копирования существующего с небольшими изменениями. Пункт 1 здесь должен выполняться. Но есть необходимость и в пункте 2, ведь при очередном исправлении или изменении одного участка должно следовать и изменение в другом дублирующем участке кода, а это уже довольно хлопотно, и не всегда об этом можно вспомнить или вообще знать.

Упражнение.

Опишите словесно или реализуйте на любом удобном языку программирования модульные тесты для следующих задач:
1. Добавление информации о новых компакт-дисках.
2. Зачисление партии компакт-дисков на склад.
3. Продажа имеющихся на складе компакт-дисков.
4. Сортировка компакт-дисков по количеству продаж за последнюю неделю.
5. Количество каждого компакт-диска на складе.
Постарайтесь не задумываться над реализацией задачи: нужен только тест.

Адресуйте свои решения нам, lessons@xprogramming.com.ua. Будем рады увидеть не только их, но и ваши отзывы и пожелания.



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное