rails规范

Ruby on rails 开发规范


(一)目录 结构的 一些约定
目录结构如下
├─app
│ ├─controllers
│ └─application_controller.rb
│ ├─helpers
│ └─application_helper.rb
│ ├─mailers
│ ├─models
│ ├─views
│ ├─layouts
│ └─application.html.erb
├─config
│ ├─environments
│ └─development.rb
│ └─production.rb
│ └─test.rb
│ ├─initalizers
│ └─backtrace_silencers.rb
│ └─inflections.rb
│ └─mime_types.rb
│ └─secret_token.rb
│ └─session_store.rb
│ ├─locales
│ └─en.yml
│ └─application.rb
│ └─boot.rb
│ └─database.yml
│ └─environment.rb
│ └─routes.rb

├─db
│ └─seeds.rb
├─doc
│ └─README_FOR_APP

├─lib
│ ├─tasks
│ └─.gitkeep
├─log
│ └─development.rb
│ └─production.rb
│ └─test.rb

├─public
│ ├─images
│ ├─javascripts
│ ├─stylesheets
│ └─404.html
│ └─422.html
│ └─500.html
│ └─favicon.ico
│ └─index.html
│ └─robots.txt
├─script
│ └─rails
├─test
│ ├─fixtures
│ ├─functional
│ ├─integration
│ ├─performance
│ ├─unit
│ └─test_helper.rb
├─tmp
│ ├─cache
│ ├─pids
│ ├─sessions
│ ├─sockets
├─vendor
│ ├─plugins
│ └─.gitkeep
└─.gitignore
└─config.ru
└─Gemfile
└─Rakefile
└─README



app:Model,View,Controller都在这个目录下,大部分的工作都在这里进行。其中admin为管理类文件
config:数据库配置信息。
db:存放数据库schema和migration信息
doc:存放文档,RDoc自动生成的文档
lib:存放在Model, View和Controller间共享的代码分包
为方便整理,不同功能的代码可放到其不同的子目录下.
调用sub_dir下的my_lib_code.rb代码的方法为: require "sub_dir/my_lib_code"
log:项目的日志信息,里面有development.log,production.log,server.log,test.log,我们在开发时的信息都写在development.log里,而测试时的log都写在test.log里。
public:web服务器把这个目录作为应用程序的根目录,可以从Web访问的目录,如果我们在浏览器的地址栏里直接输入:http://localhost:3000/那么看到的就是这里的index.html页面。
script:Rails用到的脚本,也即常用的工具程序比如:generate
test:Model测试,功能测试,测试用的数据等等。
vendor:存放外来代码, 如外来插件, 也可用来放rails构架本身, 以使rails兼容不同版本需求的程序.
tmp: 临时文件,如:cache

注释
1) #
# 注释内容
#
2)
=begin
=end

(二)命名规范:
(1)基本命名规则:
1) 局部变量和方法名(method):都是小写,若以多个单词命名,则单词与单词之间用 ”_” 连接, 在 Rails 中连文件名也是按照这个规则命名: 如: user_username(局部变量)get_username(方法名), user_controller.rb (文件名)
2) 实例(Instance) 变量:(就是每个 Object Instance 都有的变量), 要用 ”@” 开头,其余的规则和局部变量一致 如: @name, @created_at
3) 类(Class) 变量:(就是每个 Object Instance 都会共用的变量), 要用 "@@" 开头,其余的规则和局部变量一致 如: @@lookup_table, @@count
4) 全局变量:要用 ”$” 开头,其余的规则和局部变量一致 如: $global
5) 常量:一般首字母大写,但建议全部大写,以多个单词命名,则单词与单词之间用 ’_’ 连接 如:PDF_KEK
6) Class 名字也是属于常量:但都是开头大写其他小写并且单词与单词之间直接相连 如: AciveRecord, ApplicationController
7) 模块与类:所有单词首字母大写,其余小写并且单词与单词之间直接相连 如:ArticlesHelper(模块),AdminBaseController(类)
8) 参数:都是小写,若以多个单词命名,则单词与单词之间用 ”_” 连接,使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字 如:name

(2)命名约定:
1) 控制器(controller)、助手(helper)、视图(views)一般使用复数,实体(model)使用单数,数据库表名使用实体名称的复数 如:users_controller、users_helper、users、user、users(此顺序和上述表述一一对应)
2) 局部模板以下划线开始

(三)编程规范:
(1)编程规范:
1) 关键字之后留空格
2) 逗号“,”、分号“;”后留空格,“,”、“;”向前紧跟,紧跟处不留空格
3) sql语句 全部小写
4) 尽量避免一行的长度超过80个字符
5) 不允许把多个短语句写在一行中,即一行只写一条语句
6) 若函数或过程中的参数较长,则要进行适当的划分
7) 长表达式要在低优先级操作符处划分新行,操作符放在新行之首
8) 较长的语句、表达式等要分成多行书写
9) 相对独立的程序块与块之间加空行
10)函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格

(2)编程惯例:
功能书写
View 层 负责页面数据显示
尽可能的瘦和简单化
尽可能合理的情况下,不写入业务逻辑
尽量把条件逻辑放在控制层
Controller层 负责业务逻辑
方法与变量要有必要的注释说明
Model 层 负责单表数据处理与服务器端数据校验规则
helpers层 负责页面表现逻辑


(四)可读性
(1)避免使用不易理解的数字、字母,使用有意义的标识来替代。
(2)不要使用难懂的技巧性很高的语句。
(3)源程序中关系较为紧密的代码应尽可能相邻。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值