第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

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

標(biāo)簽:
Ruby

博主现在公司工作每天都很多,最近感觉很累,不禁思考软件工程是否必定意味着“加班和劳累”。正在这时看到伯乐博客的一篇翻译博文《程序员偷偷自动化,每周才工作几小时却拿全薪,这样道德么?》启发了自己对软件工程自动化的思考。

然后博主对手头上的工作进行了思考,希望找出能够自动化解决的任务,这样减少自己的负担。自己是ruby on rails的工程师,老大对自己强调过每次提交代码到远程需要ruby代码语法检测。所谓语法检测就是在linux终端执行:

ruby -c contracts_controller.rb

ruby -c contract.rb

ruby -c routes.rb

。。。

因为该命令不支持多个文件参数,这样每次提交代码之前需要检查每个rb文件(ruby文件),而且该命令不支持rails视图文件(erb文件)的语法检测,所以我要人工区分rb和erb文件。这样每次提交的文件少了也得7、8个文件,多了就一二十个了,这样一个提交代码的工作我需要5分钟到10分钟时间来费心思做这个,唉,想想都难受。

因此自己花时间写了个linux bash shell 脚本来自动化这个任务(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


解释:

运行该文件需要赋予该文件可执行权限,具体命令为“ chmod 755 ruby_c.sh”,

脚本解释:

git status -s   列出所有改动、删除、新增的文件

grep '\.rb'  筛选出ruby文件

tr -d 'M'  去掉字母M

tr -d '\n'  去掉换行

tr -d '??' 去掉??号

tr -d 'D' 去掉字母D

这些命令通过linux管道符“ | ”传输,之后赋值给变量var

cat $var 链接所有ruby文件

cat $var | ruby -c 把链接后的ruby代码传输给ruby -c命令

这样在提交代码之前只需要执行ruby_c.sh脚本,他就会智能的把所有的ruby文件进行语法检测。啊,再也不用浪费我的时间了,哈哈



作者:海内寻知己
链接:https://www.jianshu.com/p/d61ce1c820e0

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消