使用rails_best_practices代码重构

在平时的在开发中我们经常需要对代码进行优化重构,不同人对同一段代码可能都有很多不同的看法,所以我们需要制定这些重构的规则,可以把不同人的看法统一起来,达到最佳状态,这是我们就需要一些工具来帮助我们达到这个目地,例如我们这里介绍的rails_best_practices gem,下面我们来看看它的功能:

##首先还是安装它,还是ubuntu11.10:

$ gem install rails_best_practices ##修改#rails_app/Gemfile,增加:

gem "rails_best_practices"

##这样我们就可以运行如下命令在你的rails_app下:

$rails_best_practices .        #在终端显示warning
$rails_best_practices -f html .   #生成html文档 ![rails_best_practices][2] ##上图列出了多有的项目中需要重构的点,点击每一条的链接都会到rails-best-practices的网站,教你如何重构,这个非常好,可以看下图:

rails

##我们还可以生成自己的代码检查规则在#rails_app/config/rails_best_practices.yml

$rails_best_practices -g

##内容如下:

default:
MoveFinderToNamedScopeCheck: { }
UseModelAssociationCheck: { }
UseScopeAccessCheck: { }
AddModelVirtualAttributeCheck: { }
ReplaceComplexCreationWithFactoryMethodCheck: { attribute_assignment_count: 2 }
MoveModelLogicIntoModelCheck: { use_count: 4 }
OveruseRouteCustomizationsCheck: { customize_count: 3 }
NeedlessDeepNestingCheck: { nested_count: 2 }
NotUseDefaultRouteCheck: { }
KeepFindersOnTheirOwnModelCheck: { }
LawOfDemeterCheck: { }
UseObserverCheck: { }
IsolateSeedDataCheck: { }
AlwaysAddDbIndexCheck: { }
UseBeforeFilterCheck: { customize_count: 1 }
MoveCodeIntoControllerCheck: { }
MoveCodeIntoModelCheck: { use_count: 2 }
MoveCodeIntoHelperCheck: { array_count: 3 }
ReplaceInstanceVariableWithLocalVariableCheck: { }
DryBundlerInCapistranoCheck: { }
UseSayWithTimeInMigrationsCheck: { }
UseQueryAttributeCheck: { }
RemoveTrailingWhitespaceCheck: { }
UseMultipartAlternativeAsContentTypeOfEmailCheck: { }
SimplifyRenderInViewsCheck: { }
SimplifyRenderInControllersCheck: { }
RemoveEmptyHelpersCheck: { }
RemoveTabCheck: { }
RestrictAutoGeneratedRoutesCheck: { }
我们只需要在这个基础上修改即可。

##至于如何自定义规则可看这里How-to-write-your-own-check-list

现在就开始轻松重构代码了。(原创文章)

157 Words 03 November 2011 Suzhou, China