Вот концепция из теории нормализации БД:
Третья нормальная форма нарушается, когда неключевое поле является фактом о другом неключевом поле.
Разве не имеет смысла применять аналогичное понятие для функций / параметров функции?
Рассмотрим следующую функцию:
function validate(field, rule_name, rule_value);
// Usage
validate("password", "min_length", 6);
validate("password", "matches_regex", "/^\S+$/");
В этом примере функции третий параметр описывает второй и, похоже, не имеет «отношения» к первому. В каком-то смысле это похоже на денормализованную функцию.
Я не знаю, правильно ли я формулирую это, но могу заметить аналогию между именами таблиц и полями таблиц в БД, а также именами функций и параметрами функций.
Если такая аналогия имеет смысл, разве не имеет смысла для разработчиков функций заимствовать понятия из теории нормализации БД?