Используют ли опытные разработчики Ruby on Rails леса?

18

В учебнике по Ruby on Rails я прочитал кое-что, что показало, что опытные разработчики не используют скаффолдинг, так как им, как правило, нравится просто писать код для подключения MVC самостоятельно.

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

Я довольно новичок в Ruby on Rails, но не в MVC и не в веб-приложениях. Должен ли я вообще стараться придерживаться соглашений о скаффолдинге и позволять мне ориентироваться?

Genadinik
источник
2
Я добавляю редактирование, чтобы заменить Ruby в заголовке на Ruby on Rails, если это нормально.
альтернатива
@mathepic Да, теперь имеет больше смысла - спасибо за это.
Genadinik
Немного не согласен, если вы знакомы с программированием, но никогда не использовали rails. Сначала создайте каркас продукта и посмотрите, что он создал по сравнению с приложением emply. Это абсолютно быстрый способ выяснить, как все связывается воедино и каковы соглашения об именах (действительно важные в рельсах). После этого уничтожьте эшафот и постройте вручную.
Киммо Хинтикка

Ответы:

19

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

Если это ваше первое приложение для рельсов, я настоятельно рекомендую вам не использовать строительные леса. В качестве учебного упражнения ничто не учит лучше, чем приступить к работе и увидеть, что именно вам нужно для запуска приложения.

Надеюсь это поможет!

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

Я использую его по той простой причине, что быстрее удалить ненужный код из того, что генерирует скаффолд, чем создавать все файлы и код вручную.

Если бы я был тобой, я бы, по крайней мере, попробовал бы это для себя и посмотрел, является ли то, что он дает, главным образом полезным или нет.

pthesis
источник
3

Я никогда не использовал его за 4 года разработки приложений на Rails. Это может быть полезно в некоторых ситуациях, я полагаю. Приятно то, что это очевидный временный интерфейс, поэтому никто не будет пытаться его использовать.

Чего нельзя сказать об ActiveScaffold (на случай, если вы с ним столкнетесь). Это похоже на отправляемый пользовательский интерфейс, и руководство может быть одурачено, думая, что пользовательский интерфейс хорош, чтобы пойти и попросить вас отправить. Не надо! На самом деле, я уже сожалею, что упомянул AS.

Julio
источник
2

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

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

Торстен Мюллер
источник
2

Чтобы повторить то, что сказали другие, когда я использую Rails, я использую строительные леса, но я не полагаюсь на строительные леса, если это имеет смысл. Часто мне нужно 90% того, что генерирует скаффолд, поэтому проще запустить генератор и затем удалить то, что мне не нужно (например, «HTML или XML», если мне не нужен XML), чем написать все тот же код от руки. Вы ничего не делаете, кроме как тратить нажатия клавиш.

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

Уэйн Молина
источник
1

Я начал свое приложение с строительных лесов, но третьим лицом, когда я начал отклоняться от «пути RoR», я нашел его бесполезным.

Soronthar
источник
1

Короче говоря: нет.

Я буду использовать генераторы, но я почти никогда не буду использовать строительные леса. Вы, как правило, тратите немало времени на редактирование строительных лесов, и это становится немного неутешительным.

Я нахожу хороший компромисс в использовании генераторов контроллеров, которые могут помочь вам быстро начать работу, если вы занимаетесь разработкой сверху вниз.

scottschulthess
источник