如何利用工具写出优秀的Ruby代码?

原创 2014年12月03日 14:20:37

   本文算是我个人的一些心得和总结吧。前几天一个同事分享了一个session: 代码标准和工具。我觉得挺好的,但是不够深入,只是简单的介绍了一下工具。我很久以前做过调研,今天算是做一次总结吧。写好代码真是一种能力。只有不断追求卓越的代码,才能提升自我。感谢现在的开源社区,总是能提供各种优秀的工具,来帮助我们规范我们的代码,强迫我们提升代码的质量,提升我们思考代码的深度。


代码Style的工具

   ruby是一种动态语言,缺少编译检查。所以,有时候一些比较常见的错误,只有在运行的时候才能发现。这类的工具算是弥补了这些不足,并且还能提供部分代码style的提醒。

代表工具是 rubocop.

地址: https://github.com/bbatsov/rubocop

rubocop是ruby静态代码解析工具

安装特别简单 gem install rubocop

与vim的集成

Bundle 'Syntastic'

关于 rubocop的配置 ,可以自行参考 https://github.com/bbatsov/rubocop#configuration


设计模式的Style

比rubocop更强大工具是 reek, 它的强大之处在于可以提醒我们代码有哪些地方值得修改,可以促使我们以面向对象的方式去写代码。这是我们重构代码的利器。但是千万记得,测试是重构代码的前提。

安装: gem install reek

与vim的集成: reek-vim

Bundle 'https://github.com/rainerborene/vim-reek.git'
let g:reek_on_loading = 0
let g:reek_always_show = 0

我修改了一下它的默认配置,此插件默认是在文件代码和保存的时候,自动运行reek命令。这样比较耗时,体验不好。我修改成了必须显示的运行才行。

命令是 :RunReek 还有比较有用的几个命令

:ll 显示当前行的诊断信息

:lne 跳转到下一个有问题的行

:lNe 显示到上一个有问题的行

:lopen 以window方式打开诊断信息


代码性能的工具

ruby代码的性能测试工具有很多,比较强大的一个是ruby-prof. ruby-prof 有两种运行方式 ,一种是api 方式,可以集成在我们自己的代码中,另外一种是 命令行方式。

此处想说的是命令行方式,api方式可以参考它的官方文档。

地址: https://github.com/ruby-prof/ruby-prof

安装: gem install ruby-prof

与vim集成:  

map ,rp :!clear; ruby-prof %<CR>



ruby的特性-如何写出专业的ruby代码

require,load用于包含文件;include,extend则用于包含模块 require加载文件一次,load加载文件多次 require加载文件时可以不加后缀名,load加载文件时必须加...

GitHub的Ruby代码规范

最近开始接触Ruby和Rails的开发,个人是一个疯狂迷恋编写代码边format的编写方式,看到摆的凌乱的代码就会有一种无法言说的焦躁感,同样的习惯被我带到了Ruby的学习过程中,可是应该如何确定Ru...

180行ruby代码搞定游戏2048

最今在玩2048这款小游戏,游戏逻辑简单,非常适合我这种对于游戏新入行的人来实现逻辑。于是选择了最拿手的ruby语言来实现这款小游戏的主要逻辑。还是挺简单的,加起来4小时左右搞定。 上代码: requ...

一段Ruby代码的解释

阅读Rails源码的时候,会发现代码中遍布着一些看上去比较奇怪的代码,大概会是这个样子:   people.collect(&:name) 这段代码实际上等价于   people.colle...

转自水木:快速读懂Ruby代码问答

快速读懂Ruby代码问答 http://www.btsmth.com/show_topic.php?en_name=Programming&gid=156911 楼主 FenRagwort (S...

快速读懂Ruby代码问答

发信人: FenRagwort (Secluded Life), 信区: Ruby  标  题: 快速读懂Ruby代码问答  发信站: 水木社区 (Sun Sep 11 23:05:27 2011...
  • wide288
  • wide288
  • 2014年07月11日 17:10
  • 3087

rails,ruby代码嵌入模板文件标记符<% %>

在Rails 中,输出的文件通常是HTML 格式,但也可以是别的任何东西。普通的内容会直进直出,没有任何变化。但 符号之间的内容则会被看作Ruby 代码执行,执行的结果将被转换为字符串,并替换到文件中...

不懂Ruby的程序员,如何快速读懂Ruby代码

本问答的目标读者是不了解Ruby语言、但有别的编程语言经验的人。   Ruby语言的代码可读性是很强的。本问答只把一些语法特点、以及别的语言中可能没有或不同的东西展现出来,目的在于让有别的编程语...

七步写出优秀的JS代码

原文地址 http://blog.csdn.net/lihongxun945/article/details/30998539 很好的一篇文章,全是干货,总结和翻译了此文。 1,代码 ...
  • wapsoss
  • wapsoss
  • 2015年11月18日 11:47
  • 123

ruby初学笔记1——看ruby代码必备的基本语法

最近学ror。写篇小备忘,记录一个java程序员看ruby代码的时候最晕的部分。覆盖肯定不够全,也太过简单,需要些时间来慢慢补完。 1.方法的调用 ruby调用方法时,参数列表可以不用括号包裹(我...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何利用工具写出优秀的Ruby代码?
举报原因:
原因补充:

(最多只允许输入30个字)