2011-10-10 45 views
3

過去我曾經參與過幾個ruby on rails項目,但我加入了一個完全構建的rails應用程序,完成了spec測試,工廠,模型,視圖,控制器和一些自定義庫。我做了數百次提交來修復這些項目中的指定票據,並且我很瞭解Rails MVC體系結構。一位經驗豐富的程序員,對如何從頭開始編碼rails應用程序感到困惑

但現在是我需要從頭開始創建一個Rails應用程序的時候,儘管我有我的導軌體驗,但我沒有信心啓動。

我最大的問題是,如何決定我要創建的控制器,我創建的控制器的目的是什麼,Web應用程序的整個設計,現在有很多事情在我腦海中運行,而我無法整理出來。

有沒有人有同樣的情況,或像我之前遇到過同樣的問題?

+1

我覺得這個問題太廣泛了。也許你可以從應用程序的一個單獨的部分開始,當遇到麻煩時詢問具體的問題? – Mischa

回答

6

當開始一個新的應用程序時,我通常會概要地描述我認爲應用程序的核心模型將會是什麼,以及它們如何相互關聯。顯然這些可能會隨着應用程序在開發過程中的演變而改變,但這是一個很好的開始。

然後,從該池中,我確定了最適合應用程序用途的「核心」模型 - 我首先使用rails g model ModelName來生成該模型。例如:我最近在一個酒店目錄上工作,並開始使用Hotel模型。

然後,我應用一些非常基本的TDD方法,並開始爲該模型的單元測試編寫規範,運行測試,構建,編寫更多規範,重構等。隨着位落伍,做了一次提交和移動上。這樣,如果你走錯了路,很容易再次回到一個健康的位置,你不必擔心(儘可能多)犯錯誤。

我通常會發現,通過從核心模型的單元測試開始,應用程序的其餘部分將自然演化出來。一旦決定進入功能和集成測試階段,您應該清楚所有部分如何組合在一起以及用戶應該如何「流動」通過應用程序。這自然會引導您開發適合您不同用戶場景的控制器。

最重要的是,練習是習慣從頭開始的最佳方式。構建一些基本的應用程序,其結果非常清晰,如博客或簡單的日程安排工具。它會幫助你適應這個過程,所以當你轉向更大或更抽象的應用程序時 - 你會更擅長於起步。

0

我將開始與具有你把一個小的系統一起從頭開始這樣的教程:

http://guides.rubyonrails.org/getting_started.html

如果你已經擁有了一切設置,您可以直接跳到3.2

而且,如果你不喜歡它的發展方向,確保你使用的是版本控制軟件和分支/恢復(我推薦使用像git這樣的分佈式版本控制系統,因爲它們經常有更好的分支/合併)

相關問題