Talk:Reading the documentation (in Russian)
В целом при размещении нужных команд внутри динамического скоупа у программиста имеется некоторая вольность, не говоря уже о статических. Хотя синтаксис D этого не требует, существуют "правила хорошего тона" в написании программ. Так, чаще всего вводить определения и объявления рекомендуется непосредственно перед тем, как ими начинают пользоваться. Если вы объявляете переменные непосредственно перед тем, как они входят в дело, отпадает необходимость комментариев: сразу понятно, для чего нужна эта переменная. Также место в памяти будет выделяться по мере надобности, а не сразу большим объемом, а если пространства имен уже использованных и уже ненужных переменных будут постепенно закрываться, то место будет освобождаться по мере выполнения программы и она в целом не займет много места в ОЗУ.
внутри динамического scope переменные "объявляются" сразу же при входе туда, скорее всего - так как они хранятся просто в стековом пространстве {} (например, функции).
Соответственно, хоть правило насчет объявления перед использванием и хорошее, но фраза "Также место в памяти будет выделяться по мере надобности, а не сразу большим объемом" - неверна