軟件工程自動(dòng)化之ruby代碼語(yǔ)法檢測(cè)

原創(chuàng)聲明

此博客在簡(jiǎn)書(shū)創(chuàng)作,作者為海內(nèi)尋知己 http://www.reibang.com/p/d61ce1c820e0, 轉(zhuǎn)載請(qǐng)注明原文出處和作者,不遵守以上規(guī)則禁止轉(zhuǎn)載,請(qǐng)支持原創(chuàng)辱士。

博主現(xiàn)在公司工作每天都很多肉迫,最近感覺(jué)很累威酒,不禁思考軟件工程是否必定意味著“加班和勞累”圆兵。正在這時(shí)看到伯樂(lè)博客的一篇翻譯博文《程序員偷偷自動(dòng)化砾层,每周才工作幾小時(shí)卻拿全薪史侣,這樣道德么拴泌?》啟發(fā)了自己對(duì)軟件工程自動(dòng)化的思考。

然后博主對(duì)手頭上的工作進(jìn)行了思考惊橱,希望找出能夠自動(dòng)化解決的任務(wù)蚪腐,這樣減少自己的負(fù)擔(dān)。自己是ruby on rails的工程師税朴,老大對(duì)自己強(qiáng)調(diào)過(guò)每次提交代碼到遠(yuǎn)程需要ruby代碼語(yǔ)法檢測(cè)回季。所謂語(yǔ)法檢測(cè)就是在linux終端執(zhí)行:

ruby -c contracts_controller.rb

ruby -c contract.rb

ruby -c routes.rb

。正林。泡一。

因?yàn)樵撁畈恢С侄鄠€(gè)文件參數(shù),這樣每次提交代碼之前需要檢查每個(gè)rb文件(ruby文件)觅廓,而且該命令不支持rails視圖文件(erb文件)的語(yǔ)法檢測(cè)鼻忠,所以我要人工區(qū)分rb和erb文件。這樣每次提交的文件少了也得7杈绸、8個(gè)文件帖蔓,多了就一二十個(gè)了,這樣一個(gè)提交代碼的工作我需要5分鐘到10分鐘時(shí)間來(lái)費(fèi)心思做這個(gè)蝇棉,唉讨阻,想想都難受。

因此自己花時(shí)間寫(xiě)了個(gè)linux bash shell 腳本來(lái)自動(dòng)化這個(gè)任務(wù)(ruby_c.sh):

#!/bin/bash

# check ruby code syntax errors

var=`git status -s | grep '\.rb' | tr -d 'M' | tr -d '\n' | tr -d '??' | tr -d 'D'`

cat $var | ruby -c


解釋?zhuān)?/p>

運(yùn)行該文件需要賦予該文件可執(zhí)行權(quán)限篡殷,具體命令為“ chmod 755 ruby_c.sh”,

腳本解釋?zhuān)?/p>

git status -s? 列出所有改動(dòng)钝吮、刪除、新增的文件

grep '\.rb'? 篩選出ruby文件

tr -d 'M'? 去掉字母M

tr -d '\n'? 去掉換行

tr -d '??' 去掉板辽?奇瘦?號(hào)

tr -d 'D' 去掉字母D

這些命令通過(guò)linux管道符“ | ”傳輸,之后賦值給變量var

cat $var 鏈接所有ruby文件

cat $var | ruby -c 把鏈接后的ruby代碼傳輸給ruby -c命令

這樣在提交代碼之前只需要執(zhí)行ruby_c.sh腳本劲弦,他就會(huì)智能的把所有的ruby文件進(jìn)行語(yǔ)法檢測(cè)耳标。啊,再也不用浪費(fèi)我的時(shí)間了邑跪,哈哈

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末次坡,一起剝皮案震驚了整個(gè)濱河市呼猪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌砸琅,老刑警劉巖宋距,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異症脂,居然都是意外死亡谚赎,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)诱篷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)壶唤,“玉大人,你說(shuō)我怎么就攤上這事棕所≌⒖” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵橙凳,是天一觀的道長(zhǎng)蕾殴。 經(jīng)常有香客問(wèn)我,道長(zhǎng)岛啸,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任茴肥,我火速辦了婚禮坚踩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘瓤狐。我一直安慰自己瞬铸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布础锐。 她就那樣靜靜地躺著嗓节,像睡著了一般。 火紅的嫁衣襯著肌膚如雪皆警。 梳的紋絲不亂的頭發(fā)上拦宣,一...
    開(kāi)封第一講書(shū)人閱讀 49,764評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音信姓,去河邊找鬼鸵隧。 笑死,一個(gè)胖子當(dāng)著我的面吹牛意推,可吹牛的內(nèi)容都是我干的豆瘫。 我是一名探鬼主播,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼菊值,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼外驱!你這毒婦竟也來(lái)了育灸?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤昵宇,失蹤者是張志新(化名)和其女友劉穎描扯,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體趟薄,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡绽诚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了杭煎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恩够。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡驱显,死狀恐怖儒鹿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情交排,我是刑警寧澤也切,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布扑媚,位于F島的核電站,受9級(jí)特大地震影響雷恃,放射性物質(zhì)發(fā)生泄漏疆股。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一倒槐、第九天 我趴在偏房一處隱蔽的房頂上張望旬痹。 院中可真熱鬧,春花似錦讨越、人聲如沸两残。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)人弓。三九已至,卻和暖如春着逐,著一層夾襖步出監(jiān)牢的瞬間崔赌,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工滨嘱, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留峰鄙,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓太雨,卻偏偏與公主長(zhǎng)得像吟榴,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子囊扳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容