Рефакторинг программного обеспечения Лабораторная работа, РГР Информатика

Лабораторная работа, РГР на тему Рефакторинг программного обеспечения (Лабораторная работа 3)

  • Оформление работы
  • Список литературы по ГОСТу
  • Соответствие методическим рекомендациям
  • И еще 16 требований ГОСТа,
    которые мы проверили
Нажимая на кнопку, я даю согласие
на обработку персональных данных
Фрагмент работы для ознакомления
 

Содержание:

 

Оглавление

ЦЕЛЬ РАБОТЫ 3

ПОСТАНОВКА ЗАДАЧИ 4

АНАЛИЗ ПЕРВОНАЧАЛЬНОГО ВАРИАНТА ПРОГРАММНОГО КОДА 5

РЕЗУЛЬТАТЫ РЕФАКТОРИНГА 6

ВЫВОДЫ ПО РАБОТЕ 7

ПРИЛОЖЕНИЕ А. ИСХОДНЫЙ КОД 8

ПРИЛОЖЕНИЕ Б. КОД ПОСЛЕ РЕФАКТОРИНГА 16

Не хочешь рисковать и сдавать то, что уже сдавалось?!
Закажи оригинальную работу - это недорого!

Фрагмент текста работы:

 

АНАЛИЗ ПЕРВОНАЧАЛЬНОГО ВАРИАНТА ПРОГРАММНОГО КОДА

В методе Attack класса Sniper во всех условных ветвях кода, одна из которых обязательно выполняется (id всегда от 1 до 4), выполняется присваивание true флагу was_attack — следовательно можно применить «Консолидацию дублирующихся условных фрагментов», вынеся присваивание после if. Также стоит объединить if-ы в цепочку if-else, чтобы предотвратить излишние проверки после срабатывания одного из них.

После выноса присваиваний можно дополнительно применить «Удаление управляющего флага», заменив присваивания на return и избавившись от переменной was_attack.

В методе Move класса Sniper тела проверок по одной координате (x или y) практически совпадают. Это хорошая возможность применить «Консолидацию условного выражения».

Далее в этом же методе можно применить «Декомпозицию условного оператора» для упрощения понимания того, что юнит класса Sniper двигается вдоль границы игрового поля.

В методах Attack при определении наносимого урона юнитам используется код типа. Здесь можно применить «Замену условного оператора полиморфизмом», введя дополнительные методы для определения специализаций игровых единиц, которые будут снижать/увеличивать урон против других специализаций.

Важно! Это только фрагмент работы для ознакомления
Скачайте архив со всеми файлами работы с помощью формы в начале страницы

Похожие работы