Я пытался расширить свои методологии, чтобы лучше включить модульное тестирование, и я наткнулся на поведенческий дизайн (а именно, Cucumber и некоторые другие). Я весьма заинтригован этой концепцией, так как я никогда не мог правильно спроектировать сверху вниз, только потому, что отслеживание дизайна теряется без приличного способа его записи.
Итак, на этой ноте, в основном не зависящей от языка, есть ли какие-нибудь полезные инструменты, о которых я (вероятно) не знаю? Например, у меня часто возникало желание попробовать построить блок-схемы для моих программ, но я не уверен, насколько это поможет, и меня немного смущает, как я могу сделать достаточно сложную блок-схему для обработки логики полная программа, и все ее функции ... то есть, кажется, что блок-схемы будут ограничивать схему проекта ... или, возможно, вырастут до неуправляемого масштаба. Методы BDD хороши, но с системой, которая так привязана к структуре, привязка к языку и модульное тестирование кажутся необходимостью (для того, чтобы это того стоило), и кажется, что трудно найти что-то, что работает хорошо как с Python, так и с Java (два моих основных языка).
Так или иначе .. на этой ноте, любые комментарии очень ценятся. Я искал здесь, и кажется, что дизайн сверху вниз является хорошо обсуждаемой темой, но я не видел слишком много ссылок на сами инструменты, например, программы потоковых диаграмм и т. Д. Я нахожусь на Linux, если это имеет значение (в кейс программ).