Как структурировать код по стратифицированному дизайну (по уровням абстракции)
Я разбираюсь в стратифицированном дизайне (т. Е. Структурировании кода таким образом, что каждая функция вызывает функции только на один уровень абстракции ниже). Однако мне сложно реализовать это в своем коде. Я написал следующий фрагмент кода:
function is_alpha(i)
'a' ≤ input[i] ≤ 'z' || 'A' ≤ input[i] ≤ 'Z'
end
function is_number(i)
'0' ≤ input[i] ≤ '9'
end
function is_alphanumeric(i)
is_alpha(i) || is_number(i)
end
function is_valid_rest_identifier_char(i)
is_alphanumeric(i) || input[i] == '_'
end
function is_valid_first_identifier_char(i)
is_alpha(i) || input[i] == '_'
end
Здесь использование языковой функции оператора «меньше или равно» можно рассматривать как нижний уровень (уровень 0). Как таковой и
Но как насчет двух нижних функций сейчас? Они должны быть на одном уровне, но один из них зовет
Вдобавок ко всему, стратифицированный дизайн заставляет меня выполнять тривиальную функцию
Как лучше всего структурировать этот довольно тривиальный фрагмент кода?