自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

你會(huì)嘗試用Rails在下一個(gè)項(xiàng)目嗎?

開(kāi)發(fā) 后端 前端
其實(shí)我寫這篇文章的目的并不是想把Java程序員拉到Ruby陣營(yíng)中來(lái),只是想讓Java程序員們知道在有些情況下,Rails可能是一個(gè)更好的選擇,并且通過(guò)學(xué)習(xí)Ruby會(huì)加深對(duì)Java語(yǔ)言的理解,也希望通過(guò)這篇文章能讓您知道敏捷開(kāi)發(fā)的魅力。

剛開(kāi)始接觸Ruby很抵觸

在剛進(jìn)入Rails的世界的時(shí)候,對(duì)于有4年JAVA開(kāi)發(fā)經(jīng)驗(yàn)的我來(lái)說(shuō),對(duì)Rails的抵觸心理還是挺強(qiáng)的,原因有兩個(gè):

1.想精通一門語(yǔ)言,不想分散精力,而且認(rèn)為Java是很***的

2.看了下Ruby的語(yǔ)法,感覺(jué)非常亂,不像Java那樣規(guī)整,簡(jiǎn)單

我相信也有大部分Java程序員會(huì)和我有同樣的感受。由于后面有一個(gè)項(xiàng)目由Rails實(shí)現(xiàn)是***選擇。所以迫不得已開(kāi)始學(xué)習(xí)Rails,看的書是《Agile Web Development with Rails 3rd_Edition》。

對(duì)Rails觀點(diǎn)的轉(zhuǎn)變

看了三章后,發(fā)現(xiàn)用Rails去實(shí)現(xiàn)一個(gè)Web應(yīng)用是如此的簡(jiǎn)單,幾十行代碼就實(shí)現(xiàn)了Java幾百行代碼的功能。所以非常好奇的繼續(xù)看下去,想知道為什么可以這么簡(jiǎn)單。通過(guò)學(xué)習(xí)慢慢發(fā)現(xiàn)了不少Rails的好處。

◆ 習(xí)慣約定優(yōu)于配置

在Rails里沒(méi)有很多的配置文件要去寫,我想Java程序員***的痛苦之一就是XML配置文件了,不小心寫錯(cuò)了也不好調(diào)試,不知道問(wèn)題出在哪里。 之前Struts+Spring+Hibernate非常流行,要實(shí)現(xiàn)一個(gè)簡(jiǎn)單功能,你要配置幾個(gè)XML文件?但在Rails里,使用約定就行了,當(dāng)有特 殊情況時(shí),再去修改配置。

◆ 代碼簡(jiǎn)潔

發(fā)現(xiàn)同樣實(shí)現(xiàn)一個(gè)功能,代碼量是Java的1/3左右,甚至還要少。

對(duì)Rails越來(lái)越有好感,并且喜歡上它了。

如何進(jìn)行敏捷開(kāi)發(fā)

敏捷開(kāi)發(fā) ( Agile development )是一種以人為核心、迭代、循序漸進(jìn)的開(kāi)發(fā)方法。

后來(lái)我們團(tuán)隊(duì)用Rails做了三個(gè)成功的項(xiàng)目,一個(gè)在線CRM應(yīng)用,體會(huì)到了敏捷開(kāi)發(fā)的好處。

◆ 結(jié)對(duì)編程

我們是兩個(gè)人結(jié)對(duì)編程,做任何事情都是Pair的,包括分析、寫測(cè)試、寫實(shí)現(xiàn)代碼或者重構(gòu)。Pair做事有很多好處,兩個(gè)人在一起探討很容易產(chǎn)生思想的火花,也不容易走上偏路,還會(huì)及時(shí)發(fā)現(xiàn)一些小Bug。

◆ 重構(gòu)

相信大家對(duì)它都很熟悉了,有很多很多的書用來(lái)介紹重構(gòu),最著名的是Martin的《重構(gòu)》,Joshua的《從重構(gòu)到模式》等。重構(gòu)是在不改變系統(tǒng) 外部行為下,對(duì)內(nèi)部結(jié)構(gòu)進(jìn)行整理優(yōu)化,使得代碼盡量簡(jiǎn)單、優(yōu)美、可擴(kuò)展。我們經(jīng)常會(huì)重構(gòu),好處就是項(xiàng)目代碼一直是非常容易維護(hù)的。

◆ 小版本發(fā)布

在敏捷開(kāi)發(fā)中,不會(huì)出現(xiàn)這種情況,拿到需求以后就閉門造車,直到***才將產(chǎn)品交付給客戶,而是盡量多的產(chǎn)品發(fā)布,一般以周、月為單位。這樣,客戶每 隔一段時(shí)間就會(huì)拿到發(fā)布的產(chǎn)品進(jìn)行試用,而我們可以從客戶那得到更多的反饋來(lái)改進(jìn)產(chǎn)品,不會(huì)發(fā)生客戶說(shuō)“這不是我想要的東西!" 的情況。

◆ 客戶一起參與

客戶是與開(kāi)發(fā)團(tuán)隊(duì)一起工作的,團(tuán)隊(duì)到客戶現(xiàn)場(chǎng)進(jìn)行開(kāi)發(fā)或者邀請(qǐng)客戶到團(tuán)隊(duì)公司里來(lái)開(kāi)發(fā)。如果開(kāi)發(fā)過(guò)程中有什么問(wèn)題或者產(chǎn)品經(jīng)過(guò)一個(gè)迭代后,能夠以最快速度得到客戶的反饋。

敏捷開(kāi)發(fā)過(guò)程與傳統(tǒng)的開(kāi)發(fā)過(guò)程有很大不同,在這過(guò)程中,團(tuán)隊(duì)是有激情有活力的,能夠適應(yīng)更大的變化,做出更高質(zhì)量的軟件。

性能

據(jù)robbin說(shuō):“JavaEye的PV到了140萬(wàn),仍然是單臺(tái)Web服務(wù)器,Rails處理動(dòng)態(tài)請(qǐng)求超過(guò)340萬(wàn),除了真實(shí)用戶訪問(wèn),還有API,RSS以及很多爬蟲(chóng)的請(qǐng)求。”

易趣,阿里巴巴剛開(kāi)始也都用的PHP,國(guó)外的Twitter也用的是 Rails,我們?cè)谧隽巳齻€(gè)企業(yè)級(jí)項(xiàng)目和一個(gè)SaaS的CRM(WorkXP)之后,我們都沒(méi)發(fā)現(xiàn)很多人所擔(dān)心的性能問(wèn)題,所以大家不用急著擔(dān)心性能問(wèn)題,如果真到了有性能問(wèn)題的時(shí)候,說(shuō)明你已經(jīng)非常成功了,到那時(shí)再遷移到Java平臺(tái)也來(lái)的及。

小團(tuán)隊(duì)的***選擇

我非常同意JavaEye的robbin觀點(diǎn):“我認(rèn)為目前小公司唯一的活路就是高效率的小規(guī)模團(tuán)隊(duì),這樣的團(tuán)隊(duì)才能充分發(fā)揮小公司靈活創(chuàng)新的特點(diǎn),才有可能在某些方面戰(zhàn)勝大公司,也才有可能在人才競(jìng)爭(zhēng)方面勝出。”

WorkXP只有2個(gè)開(kāi)發(fā)人員,用了3個(gè)月的時(shí)間就上線了!為什么可以這么快完成這么優(yōu)秀的產(chǎn)品?這正是Rails敏捷開(kāi)發(fā)帶來(lái)的好處。如果用Java開(kāi)發(fā),我不知道半年是否可以上線? 所以如果你是小團(tuán)隊(duì)創(chuàng)業(yè),可以考慮用Rails敏捷開(kāi)發(fā)。

下一個(gè)項(xiàng)目,嘗試用Rails嗎?

現(xiàn)在我們?cè)俅蛩阕鲆粋€(gè)項(xiàng)目或產(chǎn)品時(shí),會(huì)多了一個(gè)選擇,用J2EE還是Rails?這個(gè)要根據(jù)團(tuán)隊(duì)實(shí)際情況和項(xiàng)目需求來(lái)定,如果是小團(tuán)隊(duì)創(chuàng)業(yè),試一下Rails的敏捷開(kāi)發(fā)吧,一定會(huì)給您帶來(lái)不少的驚喜!

原文:http://www.cnblogs.com/yuanpingi/archive/2011/07/11/rails_alternative_j2ee.html

【編輯推薦】

  1. Rails 3:提高Ajax應(yīng)用速度
  2. 程序員的另類境界:Rails創(chuàng)始人駕保時(shí)捷參加職業(yè)賽
  3. 在Nginx上運(yùn)行Ruby on Rails
  4. DB2 數(shù)據(jù)庫(kù)與 Ruby on Rails 入門
  5. 加速Ruby on Rails 消除N+1查詢問(wèn)題
責(zé)任編輯:陳貽新 來(lái)源: 袁平的博客
相關(guān)推薦

2013-08-28 14:32:19

移動(dòng)電商

2009-03-28 09:22:12

MID移動(dòng)OS

2022-02-13 15:49:15

WebAssemblKubernetes容器

2014-11-12 10:26:25

Bootstrap

2015-11-05 15:54:03

馬化騰項(xiàng)目合作

2012-10-18 10:01:20

亞馬遜

2018-05-13 09:45:53

共享經(jīng)濟(jì)

2019-01-23 11:07:32

蘋果諾基亞iPhone

2015-10-29 09:35:12

BAT趨勢(shì)數(shù)據(jù)

2015-11-02 10:32:43

bat騰訊百度

2009-05-12 10:51:22

職場(chǎng)經(jīng)濟(jì)危機(jī)裁員

2012-07-04 17:11:28

微軟操作系統(tǒng)

2020-11-15 23:23:21

JavaScriptAPI開(kāi)發(fā)

2016-01-04 15:09:14

VR智能電視

2017-12-18 08:55:03

2021-12-17 10:06:42

鴻蒙HarmonyOS應(yīng)用

2014-06-17 10:57:09

2019-03-19 19:19:19

Facebook微信轉(zhuǎn)型

2019-01-15 10:02:06

Kubernetes開(kāi)源工具微服務(wù)

2019-07-23 16:45:08

區(qū)塊鏈互聯(lián)網(wǎng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)