Антипаттерны: хардкодинг, софткодинг

Слайд 2

ХАРДКОДИНГ

Хардкодинг, hardcoding - прямое указание значений каких-либо теоретически параметризуемых сущностей в тексте

ХАРДКОДИНГ Хардкодинг, hardcoding - прямое указание значений каких-либо теоретически параметризуемых сущностей в
программы или построение её логики как если бы эти сущности имели постоянное значение. Обычно применяется для ускорения разработки ПО, часто - ленивыми программистами.

Слайд 3

ЧЕМ ОПАСЕН

При изменении каких-либо данных, "вшитых" прямо в программный код, понадобится изменять

ЧЕМ ОПАСЕН При изменении каких-либо данных, "вшитых" прямо в программный код, понадобится
код. Если забыть о каком-то захардкоженном куске кода может случиться так, что программа будет работать корректно только на компьютере разработчика. Для устранения этой ошибки понадобится досконально изучить код.

Слайд 4

ПРИМЕРЧИК

ПРИМЕРЧИК

Слайд 5

Когда однажды выяснится, что для получения кредита нужно стать старше 23 лет,

Когда однажды выяснится, что для получения кредита нужно стать старше 23 лет,
да ещё и найти работу, нам придётся найти в коде все места, где прописано if (Age >= 23) и поменять их на if (age > 23 && employed). Но как найти все знаки >=? Их же тысячи! Вот это ручная работа на столетия!
Но самое страшное, что в коде могут быть и выражения вида:
if (!(age < 23)), и
if (23 > age),

Слайд 6

...и даже такие места, которые совсем нереально обнаружить:
if (age < 23)
{ //

...и даже такие места, которые совсем нереально обнаружить: if (age { //
100500 строк кода } else
{ // можно получить кредит }

Слайд 7

ЧТО ЖЕ ДЕЛАТЬ?

Вот почему важно выносить не только константы, а ещё и

ЧТО ЖЕ ДЕЛАТЬ? Вот почему важно выносить не только константы, а ещё
логику. Важно следить, чтобы любое знание в коде было прописано ровно в одном месте. В данном случае - знание о том, в каких случаях клиент может взять кредит (то самое >= 23) должно быть вынесено в отдельный метод.

Слайд 8

ОДИН ИЗ ПЛЮСОВ ВЫНЕСЕНИЯ ЛОГИКИ В МЕТОДЫ - ЕЁ ЛЕГКО ТЕСТИРОВАТЬ

ОДИН ИЗ ПЛЮСОВ ВЫНЕСЕНИЯ ЛОГИКИ В МЕТОДЫ - ЕЁ ЛЕГКО ТЕСТИРОВАТЬ

Слайд 9

СОФТКОДИНГ

СОФТКОДИНГ
Имя файла: Антипаттерны:-хардкодинг,-софткодинг.pptx
Количество просмотров: 44
Количество скачиваний: 0