сложность и скорость - это понятия несовместимы
быстро на коленке можно накидать такой говнокод, что сам потом ноги сломаешь,
когда же стоит высокая сложность и условия развития и поддержки - тут уже делается раздумано, с анализом, с меньшими для себя трудностями последующих рефакторинга, масштабирования, доп. функционала, апдейта и пр...