成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么使用框架

開發 前端
我們是由于效率和易用性的考慮才產生框架。框架能節省開發時間。框架強制使用公共的約定,因此它能有效地解決一些共有的問題,比如頁面渲染,assert判斷,安全或者應用配置等。這些共有的問題有個共通的特性是會在每個web應用上都用到。

這是一篇翻譯文章,原文說明了框架在開發過程中給使用帶來的懶惰,不思維的弊病。文章來源:http://blog.8thlight.com/myles-megyesi/2012/09/12/why-frameworks.html

正文開始

我們是由于效率和易用性的考慮才產生框架。框架能節省開發時間。框架強制使用公共的約定,因此它能有效地解決一些共有的問題,比如頁面渲染,assert判斷,安全或者應用配置等。這些共有的問題有個共通的特性是會在每個web應用上都用到。

框架是非常好的,它能讓決定更連貫。框架能避免我們寫一大堆自定義模塊來實現這些性能,我們所需要做的就是將這些共用模塊放在框架中實現。框架節省了我們不少的時間和精力,并且讓擴展變得更容易。但是這也是問題的根本所在。

由于框架能在我們做代碼決策的時候提供很多的幫助,因此我們就變得懶了起來。我們不去考慮如何使用抽象思維搭建一個干凈清晰的系統,不去考慮***的代碼是否干凈清晰,卻依賴著框架來替我們實現這些需求。

對錘子來說,所有事物都是釘子

Abraham Kaplan說過的一句話能***地控訴工具的缺點:把錘子給一個小孩,他會用錘子槌遇到的所有事物

當把這個道理用在框架上的時候,我們就是工具確定的犧牲者。當我們遇到需求不是很符合框架,我們就會犯懶。我們就會按照框架既定的方法來解決我們的問題。因為使用框架既定的方法來解決方法是最簡單的,這時候我們已經忽略了如何設計對未來擴展等需求***的代碼了。

這就是衡量你是否更職業的時候了,交付對未來擴展***的代碼而不是交付最容易實現的代碼。是為了以后的需求更好的設計你的代碼還是讓以后的人做需求的時候再考慮,這就是程序員的責任感問題了。作為一個更職業的開發者,我們必須不依賴框架獨立思考。

這就是你的錯

是不是經常聽到某人在抱怨某個框架?我已經聽見好多人抱怨過Rails了:“Rails應用總是糟糕的結構”或者“Rails測試總是這么慢”。最開始,我也曾經這么認為。但是現在,每當我聽到這些抱怨的時候,我就會意識到其實抱怨者是懶惰的。Rails,或者其他框架,只是一個工具而已,你要做的是控制它。把壞代碼歸咎于無生命的框架只能說明你的不專業。

選擇正確的工具,或者正確地使用工具

使用框架開發也是在寫代碼。作為一個開發者,你有權利選擇如何實現需求。人們都希望能開發出干凈整潔的代碼,那樣的話使用面向對象思想和合理的抽象就是非常重要的了。要開發出好的代碼,我們必須仔細考慮我們的代碼設計,特別是當使用框架的時候。

決定變得更專業

我們必須根據基本的需求來選擇工具。框架確實能做很多事情,并且需求會決定整個代碼結構。有的時候框架會很適合某個需求。但是當框架不適合某些需求的時候,你就有責任為了代碼的清晰和干凈修改框架或者封裝框架。

作者

[[99527]]

Myles Megyesi

正文結束

讀后感

文章中提到框架只是一個工具,你不能用這個工具來滿足你的所有需求,當框架無法清晰完整地滿足你的需求的時候,你要做的不是寫一大堆垃圾麻煩的代碼來實現需求,更不是修改你的需求來滿足更容易實現這件事。作為更專業的你,你需要修改框架,或者使用抽象等思維來使你的代碼達到清晰干凈。

這點在實際開發中會遇到非常多。當別人問你:這里的代碼為什么這么寫? 如果你的回答是:沒辦法啊,因為框架是這么這么做的,我只能這么這么做。這就說明了你已經被框架束縛住了。不要認為框架是權威,框架也是別人寫的,它寫的時候不會考慮到你的需求。只要你的需求是團隊的公共需求,需要修改,增加框架的時候,你就應該修改框架。

選擇框架和使用框架是控制框架的基礎。什么需求,什么規模使用什么框架,選擇好框架后就要熟練使用熟悉框架。當框架無法滿足需求的時候,要毫不猶豫拋棄或者修改框架。

代碼是讓人更清晰自然的閱讀和開發的,如果被一個框架捆綁住,實際上就是本末倒置了。

 

原文鏈接:http://www.cnblogs.com/yjf512/archive/2012/09/25/2701992.html

責任編輯:張偉 來源: 葉劍峰的博客
相關推薦

2022-02-07 23:05:11

tailwindcsCSS框架

2011-04-14 09:30:15

集合框架

2024-06-14 08:00:46

2009-08-04 10:39:58

2023-02-26 01:25:23

Sanic框架工具

2020-04-07 13:40:13

GraphQLAPI編程語言

2016-06-14 09:48:19

框架

2014-07-09 10:56:44

.NET框架

2010-06-17 15:53:41

WAP協議

2017-07-03 13:33:42

AndroidItemDecorat

2014-11-21 10:50:26

JavaString

2011-03-08 12:59:38

proftpd

2011-06-08 10:30:08

MongoDB

2010-05-11 10:29:06

Unix awk

2013-11-11 09:25:39

AWS云服務AWS云服務

2015-11-05 11:58:26

2020-06-23 14:09:49

枚舉JDK場景

2014-05-19 15:52:57

Apache StraApache

2019-12-31 09:33:03

MongoDBB 樹NoSQL

2024-07-08 00:01:00

GPM模型調度器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 韩日一区 | 中日韩av| 日韩国产精品一区二区三区 | 日本一区二区三区视频在线 | 国产你懂的在线观看 | 91久久国产综合久久91精品网站 | 色伊人久久 | 亚洲国产精品第一区二区 | 免费观看一级毛片视频 | 欧美6一10sex性hd | 久久国产一区二区 | 国产精品国产三级国产aⅴ入口 | 亚州精品成人 | 亚洲精品麻豆 | 日韩视频在线播放 | 黄色毛片在线看 | 欧美日韩亚洲一区 | 久久久精品国产 | 一区二区三区高清在线观看 | 国产成人网 | www.国产一区| 在线观看黄色 | 久久麻豆精品 | 久久ww| 精品一区二区在线观看 | 一级a爱片性色毛片免费 | 青青久在线视频 | 国产精品久久久久久久久久久久久 | 午夜私人影院在线观看 | 日韩精品无码一区二区三区 | 国产一区二区视频在线观看 | 国产午夜精品一区二区三区嫩草 | 亚洲精品视频一区 | www.蜜桃av.com | 亚洲第1页 | 理论片免费在线观看 | 亚洲精品视频在线 | 久久99精品久久久久 | 曰批视频在线观看 | а天堂中文最新一区二区三区 | 久久成人精品视频 |