← Каталог
Приёмы написания кода — Согласованность уровней абстракции
Фрагмент из «Приёмы написания кода»: Согласованность уровней абстракции.
функция выполнить_платёж(счёт, сумма):
если сумма <= 0:
вызвать ошибку("Сумма должна быть положительной")
// --- высокоуровневое действие ---
данные = сформировать_платёжное_поручение(счёт, сумма)
// --- внезапный спуск в детали ---
буфер = новый байтовый_массив(1024)
смещение = 0
пока смещение < данные.длина:
прочитано = данные.прочитать(буфер, 0, мин(1024, данные.длина - смещение))
отправить_по_сокету(сокет, буфер, прочитано)
смещение = смещение + прочитано
// --- возврат на высокий уровень ---
результат = дождаться_ответа(сокет)
вернуть проанализировать_статус(результат) функция выполнить_платёж(счёт, сумма):
если сумма <= 0:
вызвать ошибку("Сумма должна быть положительной")
// --- высокоуровневое действие ---
данные = сформировать_платёжное_поручение(счёт, сумма)
// --- внезапный спуск в детали ---
буфер = новый байтовый_массив(1024)
смещение = 0
пока смещение < данные.длина:
прочитано = данные.прочитать(буфер, 0, мин(1024, данные.длина - смещение))
отправить_по_сокету(сокет, буфер, прочитано)
смещение = смещение + прочитано
// --- возврат на высокий уровень ---
результат = дождаться_ответа(сокет)
вернуть проанализировать_статус(результат)