Осенило
Любимое разработчиками слово "костыль" означает ровно необходимость применения оператора if. "Избавление от костылей" - если не упрощение функционала, то добавление уровня абстракции, избавляющего от использования if через, например, виртуальные функции.
no subject
1. Было только A. Потом добавилось Б. Пример - алгоритмы ЭЦП и код openssl до версии 1.0, где у тебя куча мест, которые имеют вид case RSA: case DSA: case EC:
2. Был нормальный процесс обработки, и к нему захотелось присобачить маркетинговую акцию. И ползет, значит, программист по потрохам кода с верёвкой в зубах.
Случаи первой природы лечатся уровнем абстракции. Случаи второго лечатся выкидыванием.
no subject
no subject
no subject
no subject
В OpenSSL есть свои артефакты - типа совместимости с компилятором gcc 2.95 на платформе, которую живьём никто уже не видел, но бОльшая часть их должна в скором времени нас покинуть.
Впрочем, если в системе совсем нет костылей, то она скорее всего достаточно маленькая.