Собственно, костыли, которые я видел, чаще всего порождены двумя сценариями из жизни.
1. Было только A. Потом добавилось Б. Пример - алгоритмы ЭЦП и код openssl до версии 1.0, где у тебя куча мест, которые имеют вид case RSA: case DSA: case EC:
2. Был нормальный процесс обработки, и к нему захотелось присобачить маркетинговую акцию. И ползет, значит, программист по потрохам кода с верёвкой в зубах.
Случаи первой природы лечатся уровнем абстракции. Случаи второго лечатся выкидыванием.
no subject
Date: 2014-12-17 02:54 pm (UTC)1. Было только A. Потом добавилось Б. Пример - алгоритмы ЭЦП и код openssl до версии 1.0, где у тебя куча мест, которые имеют вид case RSA: case DSA: case EC:
2. Был нормальный процесс обработки, и к нему захотелось присобачить маркетинговую акцию. И ползет, значит, программист по потрохам кода с верёвкой в зубах.
Случаи первой природы лечатся уровнем абстракции. Случаи второго лечатся выкидыванием.