美文网首页RubyRuby on RailsRuby、Rails知识
软件工程自动化之ruby代码语法检测

软件工程自动化之ruby代码语法检测

作者: 海内寻知己 | 来源:发表于2017-08-12 07:34 被阅读89次

原创声明

此博客在简书创作,作者为海内寻知己 http://www.jianshu.com/p/d61ce1c820e0, 转载请注明原文出处和作者,不遵守以上规则禁止转载,请支持原创。

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

然后博主对手头上的工作进行了思考,希望找出能够自动化解决的任务,这样减少自己的负担。自己是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文件进行语法检测。啊,再也不用浪费我的时间了,哈哈

相关文章

  • 软件工程自动化之ruby代码语法检测

    原创声明 此博客在简书创作,作者为海内寻知己 http://www.jianshu.com/p/d61ce1c82...

  • Ruby 循环

    Ruby 中的循环用于执行相同的代码块若干次。 Ruby while 语句 语法如下: 当 conditional...

  • Cocoapods 安装

    1、查询Ruby的源地址 2、替换国内Ruby镜像源 3、安装homebrew,执行下面代码时会检测Xcode,C...

  • 《Ruby 元编程》读后总结

    什么时候需要读这本书? 扫过一遍基本的 Ruby 语法,自己也写过一些 Ruby 代码,觉得 Ruby 也就是一个...

  • 读书笔记:显微镜下的Ruby(一)

    Ruby代码的运行 在1.9及以后版本的Ruby中,原代码运行要经过好几个步骤:分词:得到词条解析:得到抽象语法树...

  • grunt gulp

    grunt gulp grunt: 压缩代码,合并代码,检测代码书写规范... 前端自动化工具 构建项目 官网:h...

  • RubyCritic-一款不错的检测代码质量工具

    最近在开发Cloud Insight� API时,发现一个可以检测ruby代码质量的工具-RubyCritic。 ...

  • grunt

    grunt:基于:node 开发压缩代码,合并代码,检测代码书写规范...前端自动化工具构建项目官网:http...

  • grunt及gulp的使用

    grunt是压缩代码,合并代码,检测代码书写规范grunt也是前端自动化,构建项目工具grunt官网:http:/...

  • iOS 工程自动化 - Ruby 入门到辅助脚本编写

    iOS 工程自动化 - Ruby 入门到辅助脚本编写 iOS 工程自动化 - Ruby 入门到辅助脚本编写

网友评论

    本文标题:软件工程自动化之ruby代码语法检测

    本文链接:https://www.haomeiwen.com/subject/mwsdrxtx.html