精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Rails的讓人不堪的噩夢

開發(fā) 后端
在Rails開發(fā)中,你會發(fā)現(xiàn)一個讓人不堪忍受的小秘密;在我的職業(yè)生涯中,我見過的最亂的、最棘手的、最臭的代碼,都是在Ruby on Rails項目里找到的。

本文是從 Your Code is My Hell 這篇文章翻譯而來。

我最近的作為一個Rails程序員的經(jīng)歷可能并不常見。

我經(jīng)常被叫去維護一些已經(jīng)做好的Ruby/Rails項目,在力所能及的地方進行改進和完善。這樣,絕大部分我需要接手的項目在我出現(xiàn)前都已經(jīng)開發(fā)完成了。事實上,在我的記憶里,我只參與了一個商業(yè)性質(zhì)的格林菲爾德Ruby項目的開發(fā)。其它的,在我看來,都是“歷史遺物“,相當多的程序代碼在我之前都已經(jīng)出品了。(不包括個人和內(nèi)部項目)。

我知道,我的這種經(jīng)歷在Ruby和Rails程序員中并不常見。由于Ruby/Rails的高產(chǎn)和創(chuàng)業(yè)公司為主的用戶環(huán)境,大多數(shù)Ruby愛好者都是在這樣剛成立的公司里開發(fā)全新的項目。而我的工作更多的是基于最初的開發(fā)人員走后留下來的代碼。

Rails的讓人不堪的小秘密

在受雇寫Ruby程序之前,我也接手過一些歷史程序,它們有的歷史達數(shù)十年之久,代碼量數(shù)十萬行之多。你很容易在這么多代碼里找出寫的很爛的東西;有時候,這種爛代碼的數(shù)量多的讓人驚訝。

但是,在Rails開發(fā)中,你會發(fā)現(xiàn)一個讓人不堪忍受的小秘密;在我的職業(yè)生涯中,我見過的最亂的、最棘手的、最臭的代碼,都是在Ruby on Rails項目里找到的。我所見過的那些Rails項目,它們兩年下來積累的技術債務和廢棄物,跟一個10年之久的C/C++程序相比,會讓你覺得后者更干凈和優(yōu)雅。我說的并不是某個項目。我看到這種情況到處都是。

有時候我會想,這也顯示了這種語言的強大之處。如果在一個Rails應用里有500個錯誤,你可以不停的往里面添加代碼、再添加代碼、點擊“reload“,一直到它好用為止。從來都不需要寫測試或重構代碼。在很多語言和框架里,這種”補到它不漏為止“的開發(fā)方式顯而易見是行不通的。但Ruby on Rails卻提供了讓你這樣做的平臺。

不幸的是,作為它的直接后果,眾多我要處理的項目都可以被看作是一種應急產(chǎn)品。從某種角度來看,這種圖省事的做法的后果還是由開發(fā)團隊來承擔,你這樣做一天把它解決了,可引出的相關問題和不可預料的副作用,你花2周都解決不掉。

題外話:經(jīng)常的,最初的開發(fā)人員會在完成開發(fā)后轉移到新的項目上。同時會有新員工接手這些代碼。管理部門會抱怨,為什么這新接手的團隊修改問題時沒有老團隊迅速呢?而新團隊遇到的問題是,在他們能給這些遺留的代碼上添加新功能前,他們需要讓這些代碼具有更高的測試覆蓋率,有可能還需要把它們分離成更小的模塊;在商業(yè)層面,一個永久不變的聲音是:測試和重構就是拖延工期。看來這原創(chuàng)團隊都是比較明智的。

好了,牢騷發(fā)完了。

Rails的情況更為特殊!

Rails程序員有時候會顯得很傲慢和固執(zhí)。我不清楚這個判斷的可信度;我并沒有看到太多的人是這樣,但也許我跟這個社區(qū)太接近了,也許我本身也是傲慢和固執(zhí)的。

而我發(fā)現(xiàn)的卻是一種“Rails例外主義“。還記得第一次互聯(lián)網(wǎng)繁榮的時期嗎,當時有幾個經(jīng)濟學家跳出來說”不會的,這次不同,互聯(lián)網(wǎng)改變了游戲規(guī)則,市場會一直走高、走高“,本質(zhì)上我感覺很相似,有些人相信,Ruby on Rails開發(fā)是某種不同的東西,不需要跟其它類型的軟件項目一樣。

這有一些例子,讓你明白我究竟在說什么:

◆ “設計模式是Java上的東西。Ruby里只管寫你的代碼就是了。“

◆ “Ruby里拋出的警告都是無聊的,禁止掉就行了。“

◆ “的確沒有單元測試,而且對象隔離做起來很難,沒有人這樣做。“

◆ “到處打補丁對于其它語言來說是不贊成的,但Ruby沒問題。目前還沒有出現(xiàn)問題。”

◆ “像Demeter定律這樣的東西在Ruby里并不是這么重要。“

◆ “把方法分成私有和公有,這是變態(tài)控制,Ruby里不需要這樣做“

◆ “Java代碼里才會有代碼異味(code smell)。“

◆ “只有在大項目里才會有這樣的問題“(暗示這個項目永遠不會變大)

我還看到了很多項目和子系統(tǒng)例外主義者:“我知道一個類不應該搞的太大,但是對這個類是有意義的,它是為了把所有的東西放到一個地方“。

歡迎來到小人國

 

[[43751]]

 

事實上,Ruby on Rails項目確實有一點很例外:都是小項目。上周在James Gray在Lone Star Ruby Conf大會上有個極好主題,他提到的“巨型“項目有4萬多行代碼。這讓我微微一笑,因為我被雇來做的頭兩個項目分別有5萬行和7萬行。這看起來不少,但根據(jù)行業(yè)標準,它們很小。

造成這種現(xiàn)象的原因有不少。Ruby是一種比Java更富有表達性的語言,所以,從某種程度上說,Rails項目,在相同的情況下,總是比那些更講究的語言顯得更小。

而且,Rails程序員很喜歡接受把系統(tǒng)分割成很多很小的、相互聯(lián)系的小應用。但是經(jīng)驗告訴我們,這種策略是有問題的。

不,我想這導致Rails應用體格較小的最大的原因是,顯而易見的:這個框架還很年輕。這個領域里有大量不成熟的產(chǎn)品。一個Rails應用如果有3年的歷史,那就可以算是古老了。

我可以很有信心的說,這種情況不會一直持續(xù)下去。我們會看到越來越大的程序項目。我不需要鼓起勇氣就可以做下面的預言:很多項目將遭遇像Lisp, Smalltalk, C++, Java等語言曾經(jīng)遭遇過的相同的架構瓶頸。

你并不特殊

《programming literature from the 80s》這個作品讀起來非常的有趣。動態(tài),面向對象的系統(tǒng)引導了從“小規(guī)模“到”中等規(guī)模“的過度。聽起來耳熟,是吧?

每一次的革命都會堅稱這次是與眾不同的,不會造成上次革命后出現(xiàn)的政黨紛爭和官僚腐敗。起初你很容易被這些宣傳感染。每個人都很興奮,熱情的去幫助;這時出現(xiàn)的問題還比較小;然而這只是市場的大機器還沒有注意到這場運動。

事實上,你要解決的問題也許并不是你想像的那樣例外。你思想里的這種拜占庭模式只是遠古時代那些使用跟Ruby類似語言的人留下來的遺產(chǎn)。

不要驚慌

放松。我這里要說的并不是告訴你過去的幾年只是一場可愛的夢,Ruby實際上一直處在它應有的地位上。

Ruby仍然是一種奇妙的語言,它令人驚異的地方就是它在付出微小的約束代價下能輕松的接納大型系統(tǒng)的設計模式。注入依賴?兒戲。對象委托和組合?小菜一碟。跟你的錯覺正好相反,Ruby并不拒絕嚴謹?shù)脑O計模式和SOLID編程原則;Ruby能做到的事是讓它們更容易的表達出來。事實上,Ruby強大的富于表達的架構風格是讓很多人第一眼就喜歡上它的原因。

拜托:請在你告訴我Ruby和Rails不需要任何的約束之前,請跟那些仍然在維護你當初開發(fā)的Rails應用的兄弟們聊一聊。

原文:http://www.aqee.net/your-code-is-my-hell/

【編輯推薦】

  1. 谷歌宣布推出Dart編程新語言
  2. 2011下半年Web編程語言和腳本語言的就業(yè)趨勢
  3. 編程巨星成長的唯一秘訣
  4. 學習不同編程語言的重要性
  5. 每一門編程語言都是上輩子折翼的天使
責任編輯:陳貽新 來源: 外刊IT評論
相關推薦

2016-04-06 08:57:15

教材開發(fā)網(wǎng)站

2009-03-27 10:52:57

華為國際化爆笑

2009-08-14 09:19:15

Windows 7XP模式優(yōu)缺點

2013-06-20 09:38:57

2025-10-11 04:15:00

2013-10-30 10:47:53

手機預裝軟件手機用戶

2024-12-12 16:43:44

2022-05-24 10:19:15

網(wǎng)絡中斷網(wǎng)絡

2022-06-10 13:02:48

皮膚結構機器人

2014-10-21 10:13:50

Android 5.0

2022-03-04 06:46:30

Python代碼

2015-08-25 08:55:14

優(yōu)秀代碼基因

2022-07-29 11:02:17

Web3NFT元宇宙

2021-03-26 06:36:50

安全軟件殺毒軟件免費安全軟件

2012-04-25 10:18:49

jQuery

2016-03-31 16:50:54

2022-03-04 09:43:18

UDP日志TCP

2020-10-28 21:00:38

RailsMVC命令

2010-12-30 12:15:47

wifiWi-Fi無線網(wǎng)絡

2020-07-21 09:18:26

USB存儲設備加密
點贊
收藏

51CTO技術棧公眾號

99九九热只有国产精品| 91超碰碰碰碰久久久久久综合| 国产成人亚洲精品狼色在线| 欧美精品www在线观看| 折磨小男生性器羞耻的故事| 日韩三级影视| 一区二区三区四区av| 免费一区二区三区在在线视频| 一卡二卡三卡在线| 国产精品主播| 久久久精品999| 内射中出日韩无国产剧情| 91精品国产经典在线观看| 亚洲欧洲成人av每日更新| 精品国产一二| 国产情侣在线播放| 天堂久久久久va久久久久| 欧美大尺度激情区在线播放| 国产又黄又粗视频| 精品亚洲自拍| 欧美一卡二卡三卡| 亚洲一级免费观看| 成人免费看黄| 亚洲国产你懂的| 蜜桃视频成人在线观看| 久久米奇亚洲| 99久久精品国产麻豆演员表| 91香蕉国产在线观看| 夜夜爽妓女8888视频免费观看| 欧美日韩综合| 另类美女黄大片| ass极品国模人体欣赏| 午夜精品福利影院| 精品福利在线导航| 欧美一区二区三区影院| 一区二区三区日本视频| 欧美私人免费视频| 激情婷婷综合网| 亚洲精品一级二级| 日韩欧美黄色动漫| 逼特逼视频在线| 国产极品在线观看| 午夜成人免费视频| 成年在线观看视频| 伊人222成人综合网| 国产精品国产三级国产有无不卡| 欧美一区激情视频在线观看| 欧美女子与性| 久久精品人人做| 日韩成人在线资源| 川上优的av在线一区二区| 久久久久久9999| 欧美日韩亚洲在线| 岛国在线视频免费看| 久久精品网站免费观看| 日日噜噜噜噜夜夜爽亚洲精品| 麻豆app在线观看| 久久精品一区四区| 少妇精品久久久久久久久久| 无遮挡动作视频在线观看免费入口| 国产午夜精品一区二区三区视频| 日本在线免费观看一区| 日本视频在线观看| 亚洲黄色性网站| 国产精品一色哟哟| 日韩电影免费看| 日本高清成人免费播放| 久久午夜夜伦鲁鲁一区二区| 99蜜月精品久久91| 69精品人人人人| 特级特黄刘亦菲aaa级| 亚洲国产国产| 中文在线不卡视频| 印度午夜性春猛xxx交| 亚洲精品女人| 国产成人综合亚洲| 国产成人精品免费看视频| 成人午夜视频在线观看| 久久五月天婷婷| 日本精品一区二区三区在线播放| 亚洲日本中文字幕区| 国产肉体ⅹxxx137大胆| gay欧美网站| 欧美日韩国产一级片| 九色91porny| 精品国内亚洲2022精品成人| 亚洲人午夜精品| 久久国产高清视频| 亚洲韩日在线| 国产精品视频白浆免费视频| 亚洲黄色在线观看视频| 国产丝袜欧美中文另类| 亚洲一区 在线播放| 一本大道色婷婷在线| 欧美狂野另类xxxxoooo| 双性尿奴穿贞c带憋尿| 国产精品久久久久久影院8一贰佰 国产精品久久久久久麻豆一区软件 | 播放一区二区| 日韩视频免费直播| 欧美做受高潮6| 牛牛国产精品| 国产精品高潮在线| 亚洲国产精品二区| 国产欧美日韩不卡免费| 国产成人永久免费视频| 久久99久久久精品欧美| 亚洲国产精品推荐| 内射一区二区三区| 视频一区免费在线观看| 国产精品久久九九| 国产色在线 com| 亚洲第一激情av| 人人爽人人爽av| 国产成人ay| 91极品女神在线| 国产成人久久精品77777综合| 国产亚洲欧洲997久久综合| av在线播放天堂| 久久三级中文| 最近2019年日本中文免费字幕 | 国产在线观看免费麻豆| 色久综合一二码| 美女搡bbb又爽又猛又黄www| 一区二区三区午夜探花| 国产精品一区电影| 青青久在线视频免费观看| 亚洲自拍偷拍麻豆| 四虎成人在线播放| 成人婷婷网色偷偷亚洲男人的天堂| 77777亚洲午夜久久多人| www日本高清| 亚洲欧美日韩国产成人精品影院 | 深夜福利91大全| jizz国产在线观看| 99久久精品国产毛片| 每日在线观看av| 国产色噜噜噜91在线精品| 欧美放荡办公室videos4k| 国产欧美日韩综合精品一区二区三区| 中文字幕不卡在线观看| 日日碰狠狠丁香久燥| 天美av一区二区三区久久| 91国语精品自产拍在线观看性色 | 亚洲国产成人在线| 91看片在线免费观看| 欧美少妇xxxx| 国产精品亚洲一区二区三区| 午夜在线免费观看视频| 欧美日韩久久一区| www.xx日本| 国产在线不卡一区| 日韩成人午夜影院| 中文久久电影小说| 性色av一区二区咪爱| 日本五码在线| 91国在线观看| 黄大色黄女片18免费| 免费成人美女在线观看| 在线国产伦理一区| 精品视频一二| 欧美国产中文字幕| 天天操天天舔天天干| 一本色道亚洲精品aⅴ| 伊人影院综合网| 国产在线一区观看| 亚洲精品蜜桃久久久久久| 香蕉久久99| 国产精品一区二区久久久久| 在线免费观看的av| 亚洲精品www久久久| 中文字幕精品无码一区二区| 国产精品久久久久永久免费观看 | 日韩免费一级| 91成人在线视频| aaa日本高清在线播放免费观看| 欧美精品丝袜中出| 日韩精品视频播放| 中文字幕乱码一区二区免费| 老女人性生活视频| 美女被久久久| 喜爱夜蒲2在线| 最新国产一区| 91欧美视频网站| 免费在线小视频| 日韩视频精品在线| 亚洲AV成人无码一二三区在线| 欧美日韩一级片在线观看| 青娱乐在线视频免费观看| 久久久久久久久久看片| 日韩欧美理论片| 久久久久在线| 免费网站永久免费观看| 欧美日韩第一| 国产欧美韩日| 视频欧美精品| 日本精品中文字幕| 污视频网站在线免费| 亚洲欧洲成视频免费观看| 国产精品久久久久精| 色婷婷久久久久swag精品| 欧美日韩三级在线观看| 国产欧美日韩另类一区| 中文字幕乱视频| 精品无人码麻豆乱码1区2区| 黄色a级片免费| 欧美视频四区| japanese在线视频| 欧美日韩激情| 欧美日韩无遮挡| 欧美成人基地| 春色成人在线视频| 电影中文字幕一区二区| 国产精品久久久精品| 蜜桃视频m3u8在线观看| 久久久视频在线| av在线播放国产| 上原亚衣av一区二区三区| 亚洲AV成人无码一二三区在线| 精品成人私密视频| 国产强被迫伦姧在线观看无码| 欧美午夜一区二区三区| 天堂网中文字幕| 姬川优奈aav一区二区| 精品人妻在线播放| 亚洲男人的天堂av| 五月婷婷综合激情网| 欧美国产日产图区| 娇妻被老王脔到高潮失禁视频| 91尤物视频在线观看| 欧美日韩一区二区三区四区五区六区 | 久久久女女女女999久久| av在线影院| 久久国内精品一国内精品| 91se在线| 日韩小视频在线| 成人短视频在线| 久久亚洲精品毛片| 成人免费看片| 欧美精品在线视频观看| 成人黄色网址| 欧美日本亚洲视频| 成年网站在线视频网站| 欧美黑人性猛交| 高端美女服务在线视频播放| 高清亚洲成在人网站天堂| 538视频在线| 91av在线播放视频| 92国产精品| 国产精品久久久久久婷婷天堂 | 91九色对白| 日韩精品久久久久久久软件91| 91夜夜未满十八勿入爽爽影院 | 欧美日韩精品不卡| 欧美禁忌电影网| 秋霞毛片久久久久久久久| 日韩精品免费| av磁力番号网| 国产精品www.| 午夜精品久久久久久久无码| 久久xxxx| 五月激情五月婷婷| 国产成人av网站| 久久久久久久久免费看无码 | 免费污视频在线一区| 国产精品久久久久av免费| 欧美亚洲人成在线| 99国精产品一二二线| 欧美激情极品| 亚洲国产精品123| 中文字幕午夜精品一区二区三区| a级免费在线观看| 久久三级福利| 国产农村妇女精品久久| 成人一区二区三区中文字幕| 国产人妻大战黑人20p| 中文字幕日韩一区二区| 亚洲黄色一区二区| 欧美日韩在线免费视频| 亚洲免费一级片| 在线观看日韩欧美| aaa大片在线观看| 欧美在线视频一二三| 欧美视频在线视频精品| 国产欧美日本在线| 日韩综合一区| 国产免费毛卡片| 国内成+人亚洲+欧美+综合在线| 欧美激情 亚洲| 国产精品国产三级国产| 日本学生初尝黑人巨免费视频| 在线视频观看一区| 高清一区二区三区四区| 一本一道久久a久久精品逆3p | 国产日韩一区二区三区在线| 日本人视频jizz页码69| 成人h精品动漫一区二区三区| 少妇视频在线播放| 亚洲成人精品影院| 国产精品区在线观看| 亚洲美女在线视频| 欧美xxxx免费虐| 国产精品偷伦一区二区| 日本福利一区| 欧美美女黄色网| 麻豆国产精品一区二区三区| 国产精品1000部啪视频| 一区av在线播放| 91肉色超薄丝袜脚交一区二区| 精品视频—区二区三区免费| 欧美黑人猛交的在线视频| 国产欧美精品久久久| 在线日本制服中文欧美| 亚洲美免无码中文字幕在线| 国产精品一卡二卡在线观看| 国产wwwwxxxx| 欧美性xxxxxxxx| 嫩草研究院在线| 欧美一级bbbbb性bbbb喷潮片| 警花av一区二区三区| 宅男av一区二区三区| 老司机免费视频久久| 日本黄色动态图| 亚洲一区二区3| av综合在线观看| 久久国产精彩视频| 亚洲青青久久| 一区二区在线观| 美女诱惑一区二区| 国产极品视频在线观看| 91高清视频在线| 国内三级在线观看| 国产成+人+综合+亚洲欧美丁香花| 欧美人体视频| a√天堂在线观看| 99免费精品视频| 久久久久亚洲av成人毛片韩| 精品网站999www| 中文字幕在线直播| 欧美高清性xxxxhd| 日韩精品福利网| 国产调教在线观看| 欧美日本在线一区| 国产在线观看免费麻豆| 亚洲综合社区网| 欧美特黄视频| 国产精品伦子伦| 色香蕉久久蜜桃| 国产综合视频一区二区三区免费| 国产91精品最新在线播放| 欧美人与牛zoz0性行为| 欧美伦理视频在线观看| 国产精品久久久久久久久搜平片| 国产精品久久久久久无人区| 久久久久999| 精品精品国产三级a∨在线| 免费在线观看视频a| 久久综合九色综合97婷婷| 无码人妻丰满熟妇精品| 中文字幕亚洲国产| 亚洲精品福利| 北条麻妃在线视频观看| 亚洲国产成人在线| 亚洲av无码乱码国产麻豆| 91国内免费在线视频| 国产探花在线精品一区二区| 天天综合网久久| 亚洲一区在线观看网站| 视频一区二区在线播放| 国产精品久久av| 亚洲女同中文字幕| 欧美在线一级片| 欧美日韩国产欧美日美国产精品| a篇片在线观看网站| 久久99精品国产99久久| 欧美aaaaaa午夜精品| 日本老熟俱乐部h0930| 精品亚洲精品福利线在观看| 九九热这里有精品| 日本欧美视频在线观看| 国产欧美日韩视频在线观看| 精品久久久久成人码免费动漫| 欧美中文在线字幕| 亚洲字幕久久| 88久久精品无码一区二区毛片| 欧美久久一二区| 小视频免费在线观看| 一本—道久久a久久精品蜜桃| 成人99免费视频| 亚洲中文字幕在线观看| 午夜精品美女自拍福到在线| 99久久精品费精品国产| 国产二级一片内射视频播放| 欧美日韩在线观看一区二区 | 国产精品午夜av在线| 日日骚欧美日韩| 国产一级特黄a高潮片| 日韩在线中文视频| 欧美三级自拍| 性一交一黄一片| 欧美午夜精品一区二区蜜桃|