При разработке приложения Grails, что вы считаете "лучшими практиками" и почему? Меня не интересует дискуссия о лучших практиках, но одно или несколько утверждений, подкрепленных обоснованием и/или описанием того, когда применяется лучшая практика, а когда нет. Я не верю, что есть один лучший способ разработки приложений Grails, но есть ряд рекомендаций, которые приведут к созданию более удобных приложений с меньшим количеством ошибок, скрывающихся в них.
Мой опыт Grails заключается в том, что он предлагает так много возможностей, что есть соблазн использовать их все в одном приложении, что приводит к некоторому из худшего кода спагетти, который я видел с тех пор, как я отлаживал программу Fortran с операторами GOTO в и из части цикла DO.
Мы все знаем, как Grails создает место для классов, сервисов, просмотров, контроллеров и т.д. Какие функции принадлежат этим местам? Какие эмпирические правила помогают вам поступать правильно? Что такое запахи кода Grails?