Здравствуйте, _hum_, Вы писали: __>это понятно. вот только декомпозиция для тестирования и для написания кода могут противоречить друг другу (иногда даже большую функцию сложно разбить на подфункции из-за отсутствия подходящих самостоятельных концептов для этих фрагментов).
я когда своего брата-школьника учил программированию, то говорил ему так: "пиши код так, будто любая ф-ия, которую ты можешь только вообразить уже существует". если вам нужно провести какие-то мутрные преобразрования, то так и пишиет
x = муторные_преобразования(x, y, z)
не надо пытатья их лепить на месте. и потом вы научитесь давать более разумные имена со временем и даже тесты писать на эти преобразования по отдельности