Рельсы учатся путанице - PullRequest
       24

Рельсы учатся путанице

1 голос
/ 28 марта 2010

Это путаница в обучении рельсов для начинающих. Время от времени, когда я изучаю рельсы, я расстраиваюсь из-за принципа рельсов "Соглашение о конфигурации". Rails интенсивно использует соглашения. Многие из них - просто соглашения об именах. Если я забуду соглашение, я либо использую неправильное наименование и получаю неожиданный результат, либо делаю вещи волшебным образом, но не понимаю как. Иногда я думаю о конфигурации. По крайней мере, конфигурация перечисляет все четко и ничего не в тумане. В рельсах, кажется, скрытый, темный контракт между вами и машиной. Если вы следуете контракту, вы хорошо общаетесь. Но новичок обычно забывает предметы, перечисленные в контракте, и это обычно приводит к путанице.

Вот почему, когда я впервые поднимаю рельсы, я чувствую, что это как-то трудно освоить. Кроме того, есть много других вещей, которые могут быть новыми для ученика, такие как использование git, использование плагинов от сообщества, использование стиля маршрутизации RESTful, использование RSpec. Все они новые и объединяются в изучении рубина и рельсов. Это определенно создает трудности для начинающего.

Напротив, если вы изучите php, это будет не так уж и плохо. Вы можете забыть много вещей и сосредоточиться на изучении самого php. Вам не нужно изучать обработку базы данных, если вы уже знаете SQL (в rails вам нужно освоить совершенно новую концепцию миграции), вам не нужно изучать новый достойный модульный тест (в rails, как правило, они преподают RSpec вместе путь, потому что rails является гибким, и вы должны изучать разработку через тестирование на ранней стадии обучения), вам не нужно изучать новый контроль версий (в rails вы все равно узнаете о git), у вас нет чтобы использовать сложные плагины (в рельсах они обычно используют сторонние плагины в примерах из учебников! какого черта? почему бы не научить делать упрощенные подобные вещи в рельсах?), вам не нужно беспокоиться о стиле RESTful. *

В общем, когда я учу php, я учу его быстро, и вскоре я сам начинаю писать. Изучение php похоже на изучение C / Java. На вкус как те традиционные языки. Когда я изучаю рельсы, это сложнее. И мне нужно также изучать рубин (я думаю, что многие из вас изучают рубин только из-за рельсов).

У кого-нибудь есть такое же чувство, как у меня? Как вы преодолеваете это и начинаете осваивать рельсы? Подсказки будут приветствоваться. Спасибо.

Ответы [ 3 ]

2 голосов
/ 28 марта 2010

Вам нужно нужно выучить Ruby. Руби это язык. У него есть свои причуды. Вам не нужно много изучать Ruby, но вы не можете выучить no ruby ​​и рассчитывать написать что-нибудь приличное.

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

Это на самом деле ничем не отличается от изучения C # (как языка), а затем изучения инфраструктуры MVC, например ASP.NET MVC или FubuMVC.

Да, вы бросаете что-нибудь в PHP, изучая намного меньше в процессе. Но инвестиции ценны. Ваше образование ценно.

Обучение требует времени. Моделирование важно, и я видел некрасивый код Rails, потому что авторы были плохими моделерами. Эти бедные модели превратились в ужасные базы данных. Но это все еще работало! Он соответствует потребностям клиента.

0 голосов
/ 28 марта 2010

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

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

0 голосов
/ 28 марта 2010

Сравнение Rails с PHP не выполняется, поскольку Rails - это фреймворк, а PHP - это язык. Вам следует сравнить Ruby с PHP или Rails с некоторыми PHP-фреймворками (я не знаком с PHP-фреймворками и не знаю примеров)

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

Чтобы выучить Rails, вы должны сначала выучить язык, на котором он построен (как вы должны делать с любым фреймворком IMHO), поэтому сначала изучите Ruby. Лично мне понравился мистер. Соседняя маленькая книга Рубин много. Он написан простым и приятным способом и не скучен / серьезен, как многие книги по языкам.

После этого я прочитал / сделал все уроки / руководства по http://guides.rubyonrails.org/, они скрывают (важные!) Основы и рассказывают о специфических вещах Rails, о которых вы пишете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...