回答
如果您在幾個不同的網站上工作,那麼通過在所有這些網站上使用通用框架,您可以花時間在代碼上工作,而不是試圖記住什麼位置和原因。
我總是會使用某種框架,即使它是你自己的,因爲統一性會幫助你構建你的項目。除非它是一個頁面的靜態HTML項目。
但是沒有強制性限制。
我不認爲有一定的複雜性水平需要一個框架。對於我來說,無論何時我寫一個動態網站,我都會立即考慮一個框架,如果它能節省我的時間,我就會使用它(它幾乎總是這樣,而且我幾乎總是這樣做)。
所有因素很重要。您應該測量使用第三方框架可以節省多少時間,並將其與使用其他代碼的風險進行比較。
從不「強制」。任何框架都沒有很好地解決一些問題。當您正在實現的大多數代碼已經以適合您特定應用程序的方式由相關框架實現時,切換到框架將是可以想象的。這樣可以節省您的時間,精力,並且很可能比您編寫的新代碼更加穩定。
這實際上是兩個問題,你意識到。 :-)第一個答案是,它從來沒有強制,但老實說,從一開始就直接解析HTML請求參數是非常可怕的。我甚至不想這麼做,所以我傾向於比較早地走向框架。
至於什麼測量是實用的,那麼你擔心什麼?你列出的所有描述都有價值。在我看來,數據庫大小主要是爲了擴展,如果你有一個非常簡單的模式,即使數據庫中有成千上萬行,你也可以編寫一個非常簡單的應用程序。功能列表可能會決定UI頁面的數量和複雜程度,從而有助於確定代碼長度。
所有的框架和庫都是您可以使用的工具。確定哪些將使您的生活更容易爲您的給定項目和使用它們。
請考慮這個問題可能是錯誤的。許多最複雜的網站都沒有使用任何流行的,預先存在的框架。谷歌有自己的網絡服務器和自己定製的做事方式,亞馬遜以及其他許多其他網站也是如此。
如果一個框架使您的任務更容易,或提供附加價值,那就去做吧。但是,當你獲得這個框架時,你就會受到新的依賴。我開始重新基本上一個喬爾的軟件後,所以我會在這裏你重定向更多關於增加不需要依賴於你的代碼:
我想說的情況正好相反。在某個時候,你的項目變得如此廣泛,你實際上由於框架的缺陷而變慢了。對於足夠大的項目,事實上,您可以更好地開發自己的框架,以滿足您自己的需求。我曾多次看到人們在做出可能做出的決定或可能產生的工作時被阻止,因爲他們試圖做一些框架沒有預料到的事情。做這些框架沒有預料到的事情可能會非常麻煩。製作你自己的框架的好處是,它可以隨着你的項目發展,成爲你係統的幫助,而不是阻礙。
因此,總之,小項目應該使用現有的框架。大型項目應該包含自己的框架。
- 1. ASP.NET MVC框架需要什麼應用程序信任級別?
- 2. 爲什麼我們需要依賴管理的複雜性
- 3. 實體框架中複雜類型屬性名稱的別名
- 4. 爲什麼實體框架連接需要元數據屬性?
- 5. 託管擴展性框架(MEF),爲什麼需要導入?
- 6. 組合框需要什麼屬性?
- 7. 爲什麼在這裏需要更復雜的jQuery模式?
- 8. 確定複雜性等級
- 9. zend框架骨架:爲什麼該行需要'init_autoloader.php'工作?
- 10. 塊級框與主要塊級框之間的區別是什麼?
- 11. JavaScript中JSON.parse()的複雜性是什麼?
- 12. C++中set_intersection的複雜性是什麼?
- 13. btree的插入複雜性是什麼?
- 14. OrderedDictionary的複雜性是什麼?
- 15. dist()的複雜性是什麼?
- 16. Exists C#的複雜性是什麼?
- 17. NSComparisonResult的複雜性是什麼? [Post interview]
- 18. `sort_by`的複雜性是什麼?
- 19. SonarQube使用什麼樣的複雜性?
- 20. 框架和工具包之間的主要區別是什麼?
- 21. LLVM優化傳遞需要使用什麼級別?
- 22. 複雜性。爲什麼常量不重要?
- 23. Zend框架的複雜WHERE語句
- 24. 複雜的實體框架加入
- 25. 實體框架中的複雜繼承
- 26. 實體框架中的複雜類型
- 27. xml架構的重要性是什麼?
- 28. 爲什麼需要屬性檢查器中的UIlabel「行爲」複選框?
- 29. 升級Struts時需要修改什麼?
- 30. 簡單的狀態服務不需要的複雜性
我想你的意思是'比較'而不是'對抗'那裏。 – 2008-09-16 00:55:34