2009-08-30 29 views
5

Tôi (khá) là một lập trình viên có kinh nghiệm nhưng hoàn toàn mới đối với Ruby và Ruby trên Rails.20% cuối cùng trong Ruby on Rails

ROR sẽ rất tuyệt vời để hoạt động nhanh chóng, đặc biệt là việc tạo màn hình tự động cho các hoạt động CRUD.

Nó thực sự giúp bạn sản xuất nhanh chóng.

Các câu hỏi là với 20% công việc cuối cùng, khi tôi phải hoàn thành đơn đăng ký của mình. Liệu các công ước RoR có cản đường tôi không? Bởi vì không phải mọi bảng cơ sở dữ liệu đều có sẵn cho tất cả người dùng và không phải tất cả người dùng đều có thể chỉnh sửa tất cả các cột và/hoặc tất cả các hàng và các chế độ xem phải phù hợp với giao diện trang web của tôi, v.v.

Tôi hiểu RoR đã được sử dụng thành công trong các trang web trực tiếp, nhưng làm thế nào chính xác để bạn đạt được đủ tốc độ trong RoR để thoát khỏi lực hấp dẫn sau khi giai đoạn đầu tiên đã bị đốt cháy.

+7

Có vẻ như bạn đang bối rối "đứng theo cách của tôi" với "không làm công việc cho tôi", ít nhất là đánh giá từ các ví dụ của bạn. (Bạn phải thiết kế quan điểm để làm việc với giao diện trang web của bạn? Làm thế nào là một ví dụ của Rails nhận được theo cách của bạn?) – Chuck

+0

Điểm tốt, Chuck. –

Trả lời

7

Tôi không nghĩ rằng giàn giáo giúp bạn đạt được 80% ở đó. Giàn giáo là tốt đẹp ở chỗ nó cho bạn thấy làm thế nào các mảnh Rails phù hợp với nhau, nhưng tôi sẽ không xây dựng ứng dụng của tôi ra khỏi mã giàn giáo. Bây giờ bạn đã bị ấn tượng bởi giàn giáo tốt nhất là bạn quên tất cả về nó. :)

Nơi Rails thực sự tỏa sáng trong tâm trí của tôi là database migrations, sự tuyệt vời của ActiveRecord động và hệ sinh thái plugin.

Có rất nhiều điều cần tìm hiểu khi quyết định sử dụng Rails. Bạn có một ngôn ngữ mới, khung công tác mới và các plugin mới - nhưng nếu bạn dành thời gian để tìm hiểu những điều bạn có thể rất hiệu quả với Rails.

+6

Ồ, geez, không đùa đâu. Giàn giáo không * có nghĩa là * để đưa bạn đến bất cứ đâu gần một ứng dụng đầy đủ. +1 – Chuck

+0

Tôi sử dụng giàn giáo, nhưng chỉ với máy phát tùy chỉnh. –

1

Sẽ không có quy ước của ROR đứng theo cách của tôi? Bởi vì không phải mọi bảng cơ sở dữ liệu phải có sẵn cho tất cả người dùng, và không tất cả người dùng có thể chỉnh sửa tất cả các cột và/hoặc tất cả các hàng, và quan điểm phải thích nghi với cái nhìn trang web của tôi và cảm nhận, , vv

Đây là một chút không liên tục. Rails là một khung công tác đã được gỡ bỏ từ các ứng dụng thế giới thực. Các ứng dụng đó cũng phải đối phó với tất cả những vấn đề đó, cũng như những ứng dụng khác mà bạn có thể chưa từng nghĩ đến. Nói chung, các công ước làm cho cuộc sống dễ dàng hơn một khi bạn tìm hiểu chúng.

Một điểm khác là các quy ước chỉ là các quy ước. Bạn không phải theo họ. Bạn thậm chí không cần phải sử dụng RoR cho tất cả mọi thứ, mặc dù tôi chưa tìm thấy một trường hợp mà tôi đã không/không thể, tôi thường cố gắng đẩy càng nhiều vào các lớp DB hoặc cache càng tốt.

5

Tôi đã làm ruby ​​trên đường ray đôi khi. Vấn đề 80/20 không phải là duy nhất cho đường ray. Nó áp dụng chung cho toàn thế giới. Tôi cũng không biết về bất kỳ khung công tác nào có thể làm logic kinh doanh cho bạn.

Để trả lời các câu hỏi cụ thể của bạn. Công ước sẽ không đứng theo cách của bạn trong khi thực hiện 20%. Thay vào đó, các quy ước sẽ giúp bạn vượt qua 20% nhanh hơn.

Cá nhân, để xác thực người dùng, tôi sử dụng Authlogic. Đối với ủy quyền người dùng, tôi sử dụng plugin Lockdown hoặc Authorization tùy thuộc vào nhu cầu của khách hàng.

Tôi cũng sử dụng inherited_resource trong hầu hết các dự án của mình để đơn giản hóa mã bộ điều khiển. Đây là một sức mạnh khác của quy ước.

Để tăng tốc độ phát triển, bạn sẽ không chỉ cần biết Rails, mà còn cho phép bạn thực hiện những điều phù hợp với mình, vì vậy bạn không cần phải phát minh lại bánh xe nữa. Ngoài ra, biết ngôn ngữ Ruby là điều cần thiết để phát triển nhanh chóng vượt quá 80%.

Ruby Toolbox cung cấp một số đá quý và plugin phổ biến nhất được sử dụng trong các dự án đường ray điển hình được nhắm mục tiêu đến các miền cụ thể. Bạn có thể xem qua các danh mục có liên quan và biết phần lớn mọi người sử dụng. (Và nó có thể là một ý tưởng tốt để sử dụng đá quý phổ biến, được bảo trì tốt)

Phát triển kiểu TDD/BDD cũng sẽ giúp bạn tăng tốc trong thời gian dài.

Cuối cùng, một cảnh báo: Nếu bạn lạc lối khỏi quy ước đường ray, bạn sẽ có một thời gian đau đớn nói chung.

P.S. Tôi đã sử dụng Merb trước đây. Cảm giác của tôi là các công ước giúp bạn trong công việc, nhưng bạn sẽ không nhận được quá nhiều hình phạt vì không theo họ trong merb. Tuy nhiên, kinh nghiệm của tôi với Rails là nếu bạn quyết định không tuân theo quy ước đường ray trong khi phát triển ứng dụng đường ray, nó sẽ trở lại để cắn bạn theo cách này hay cách khác! Vì vậy, suy nghĩ hai lần khi bạn thực sự cố gắng đi lạc khỏi công ước đường ray ... (Đây là kinh nghiệm của riêng tôi, và dĩ nhiên chủ quan, nhưng bạn có thể nghĩ nó như một cảnh báo ...)

0

Tôi không tin rằng bạn sẽ có một vấn đề nghiêm trọng với các quy ước của Rails. Chỉ cần gắn bó với các quy ước và tin tưởng vào hệ thống RoR. Những người đứng sau Rails đặt rất nhiều nỗ lực vào các quy ước này để hỗ trợ 99% các tình huống sử dụng phổ biến.

Nếu bạn thực sự cần phải làm điều gì đó bên ngoài các quy ước, cuối cùng nó sẽ trở nên phức tạp khá nhanh. Tuy nhiên, bạn không đơn độc. Có rất nhiều tài nguyên tuyệt vời trên mạng để nhận trợ giúp (ví dụ: cộng đồng StackOverflow).

Nói tóm lại:

  • Stick với những quy ước bất cứ khi nào có thể (tài nguyên tuyệt vời để bắt đầu:. Rails Guides
  • Đừng phát minh lại bánh xe Hãy tìm Rails pluginsRuby Gems thay vì (làm không. quên GitHub).
  • Tham khảo ý kiến ​​cộng đồng StackOverflow nếu bạn cần một cái gì đó khác thường.
  • Test all the f***ing time (chỉ để cho vui).