2012-02-24 20 views
0

我需要幫助提出一個良好的命令來構建一個Web應用程序。我正在Django中構建它。它是一個網絡應用程序,它具有諸如投票,喜歡,創建列表,評論等許多事情。爲了簡化構建多平臺web應用程序,爲了讓我的選擇在未來保持開放,我正在考慮構建網站「API up 」。Web項目設計,以什麼樣的順序構建東西?

不確定我是否使用正確的術語,但基本上我想使用REST構建所有功能部件,例如,喜歡一個評論將是url.com/api/like/commentID/user/Pass其中用戶傳遞是可選的,因爲它可以使用Web會話,如果它有。一旦我構建了函數(比如,註釋等),我就計劃在api之上構建視圖和模板(例如類似的按鈕就像api一樣是一個簡單的href函數)。

我覺得這有點不同於我的典型方式,因爲我通常必須爲api類型的事物創建多個方法,並且爲view/templates表單等提供多個方法。

基本上,我問,將建立一個網站上的API的頂部是一個好主意?

+3

從來沒有過的URL密碼。 – 2012-02-24 16:33:16

+1

是的。你還想了解你的方法嗎?這不是一個「技術」問題,可能屬於Programmers.StackExchange.Com – 2012-02-24 16:53:19

+0

這是一個很好的計劃。不過,我不認爲在這個領域重新發明車輪是明智的。 django-tastypie(https://github.com/toastdriven/django-tastypie)是一款出色的API應用程序,可以很好地爲您的項目提供服務。 – 2012-02-24 17:01:39

回答

5

Keep it simple and stupid

首先寫一個簡單列表user stories - 不要過度設計你的項目。按應用分組。儘量在很​​多應用程序中劃分你的項目,但不要太多。

控制複雜性是計算機編程的本質。 - Brian Kernigan

Pinax或類似的東西開始你的項目。這樣您就可以獲得所有的用戶管理/設置/註冊/ etc/etc等功能。 你現在可以開始專注於什麼使你的網站不同

調試比編寫代碼要困難一倍。因此,如果您儘可能巧妙地編寫代碼,那麼根據定義,您的智能不足以進行調試。 - Brian W. KernighanP. J. PlaugerThe Elements of Programming Style

代碼的第一個應用程序的第一個版本,這應該包括少數機型,網址,視圖模板和staticfiles。

有構建軟件設計的兩種方法:一種方法是讓它儘量簡單,讓人看不出明顯的缺陷和另一種方法是做起來很複雜,讓人看不出明顯的缺陷。 - C.A.R. Hoare, The 1980 ACM Turing Award Lecture

推遲其不適合編碼的標準的Django方式的特徵(例如,需要的黑客,代碼膨脹,等等。)。儘可能依靠外部應用程序,改進它們而不是重新發明輪子。

生命太短,無法運行專有軟件。 - Bdale Garbee

對其他應用程序進行編碼,如果事情太複雜,請再次嘗試使它們保持簡單,然後將其推遲。

最便宜,最快,最可靠的組件是那些不在那裏 - Gordon Bell

你應該再有你的項目的第一個工作版本。你這樣做的時候已經過去了。根據剩餘的時間量,決定您推遲哪些功能對於第一個發佈最爲重要

計算科學家面臨的主要挑戰是不要讓由他自己造成的複雜性困惑「 - E. W. Dijkstra

做的第一版本,至少私人,你的項目應該是在生產你應該有成功地在最後期限由現在的代碼應該是舉止優雅,在簡化代碼以某種方式實現的用戶故事設置一個滾動發佈系統 - 。這是使一個腳本,可以從測試推到生產。

鄉親,說實話。鱘魚是一個樂觀主義者。 方式超過90%的代碼是胡扯「 - Al viro

現在您準備在更復雜的東西的工作,但不要忘了:您的網站的使用(用戶和業務。模型)現在應該能夠支配的重點你應該有一個健全項目,通過自身現在的發展

這是關於我們的行業一件奇怪的事:。我們不僅沒有從錯誤中學習,我們也不學習f rom我們的成功。「 - 基思·佈雷斯韋特

+1

+1:大引號! – 2012-02-24 17:39:03

相關問題