簡體   English   中英

Rails的方式是什么(約定)

[英]What is the Rails way (convention wise)

在鐵軌上開發有時被描述為遵循“鐵軌方式”。 在配置方面,約定也是鐵軌中非常重要的方面。

但是這些具體約定是什么? 例如使用活動記錄?

我建議您訪問therailsway.com

Rails Way就是關於在Rails應用程序設計中教授“最佳實踐”的。 它由獨立顧問,Rails核心團隊成員Michael Koziarski運營,在設計和構建Web應用程序方面擁有豐富的經驗。

您還可以閱讀The Rails Way

Obie使用詳細的代碼示例,系統地介紹了Rails的關鍵功能和子系統。 他介紹了先進的編程技術,介紹了易於使用Rails的開放源代碼庫,並提供了有關測試和生產部署的重要見解。 一起深入研究Rails代碼庫,發現Rails照常運行的原因–以及如何使其按預期方式運行。

首先是命名約定

您不必遵循約定,但是如果您這樣做,將會更加快樂。

按照Rails期望的方式布置目錄結構,它會自動知道在哪里尋找東西。

將表命名為模型的復數形式,並包含一個id列,它將自動知道如何處理數據。

像期望的那樣命名您的控制器,視圖等,它將處理大量的繁瑣工作,如果有選擇,您會很瘋狂。

簡而言之,取而代之的是一個龐大的配置文件,只需按照Rails的預期做,“配置”是免費的。 這將使您成為一個更快樂的開發人員。

我認為“ rails way”或“ ruby​​ way”是程序員在Ruby中編寫時使用的普遍接受的語法和實踐。 所有語言都有類似的“最佳實踐”習慣(例如,某些東西是否具有“ Python風格”)。

將其與語言或框架使用的實際功能或預期約定區分開來很重要。 這有點像書面語言的語法規則和定義特定寫作類型的文體准則之間的區別。

我認為所有語言都具有一定的偏見和優勢,從而使其具有某種“風格”的編程成為流行。 遷移語言的人們起初可能會遇到困難,因為他們還沒有學會如何編寫特定語言。 例如,許多來自嚴格的OO環境的程序員可能無法理解Ruby中的map()inject()lambda工作。

Ruby / Rails中使用了許多約定,這些約定似乎與其他平台無關。 熟悉“ ruby​​方式”的最佳方法是閱讀大量源代碼並記下人們似乎在構造類,例程,文件結構等的方式。

同時閱讀別人提到的兩本“ Ways”書也無濟於事。 我都擁有它們,它們是極好的資源。

值得記住的是,因為我上周在上面絆了一下,並花了相當長時間令人不愉快地感到困惑,所以,任何名稱以“ _id”結尾的列都被視為外鍵,因此不包含在content_columns 相當合理,但是我花了一些時間來追查為什么我的代碼沒有導出名為“ sg_deal_id”的值。 現在是“ sg_deal_num” ...

DHH在37signals開發了Rails。 他們寫了關於最佳實踐的書 ,不僅涉及編碼,而且涉及設計和業務等方面。 您可以在線免費閱讀。 從我認為這是常見的Rails開發人員的角度來看,這是一個開始看待事物的好方法。

我認為有幾個張貼者過於關注問題中的“鐵路方式”直譯字。

恕我直言,此時最好的學習Rails的方法是使用官方的Rails指南。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM