登录/注册
微信登录
QQ登录
首页
网站模板
网页特效
网站源码
素材资源
建站学院
软件工具
开发前端软件素材源码教程下载网站
全部
网站模板
网页特效
网站源码
素材资源
建站学院
软件工具
mysql
mysql
微信
微信
小程序
苹果
dedecms
修真图
当前位置:
首页
>
建站学院
>
后端开发
>
Ruby 编程规范
Ruby 编程规范
后端开发
发布日期:2025年07月14日 浏览次数:
369
次
翻译
:
itachi007
个人主页
http://rc.org.cn/?uid/1106
附件为最终修订版下载.
修订者:drive2me
http://rc.org.cn/?uid/172
Ruby
编程规约
前言
本规约
、
记述的是在用
Ruby
进行编程时所使用的编程规约
。
在实际项目开发的时候,推荐以此为基础,根据项目实际情况进行客户化后再使用。
源代码的
整形
代码缩进
为了增加程序的可读性而进行的适当的缩进,缩进的幅度以
2
个字符为宜。另外,缩进的时候,只可使用空格,不可使用
TAB
(编程工具不同的时候,看起来会不一样)
例
:
if x > 0
if y > 0
puts "x > 0 && y > 0"
end
end
一行的字符数
一行的字符数以
80
字符(半角)为宜
。
空行
用空行来区分开复数的类
正
例
:
class Foo
...
end
class Bar
...
end
误例
:
class Foo
...
end
class Bar
...
end
另外、类中的各个构成要素之间也需要用空行来隔开。
但是,最初的要素之前和最后的要素之后不需要插入空行。
正
例
:
class Foo
attr :bar
def baz
...
end
def quux
..
end
end
误
例
:
class Foo
attr :bar
def baz
...
end
def quux
...
end
end
注释
方法的定义中不需要注释行
。
(
需要重构的地方应该加上注释
。
)
但是,对类、模块、或公有方法的注释要使用
RDoc
的风格来注释。
例
:
#
コンマ区切の文字列
+str+
を分割し、結果を配列にして返す。
def split_csv(str)
return str.split(/,/)
end
程序结构相关的规约
类的构成要素
类的构成要素以下记的顺序来记述。
模块的包含
常数的定义
类变量、类实例的定义
类
方法的定义
属性方法
的定义
initialize
的定义
公有实例方法的定义
保护类方法的定义
保护
属性方法的
定义
保护实例方法的定义
私有类方法的定义
私有
属性方法
的定义
私有实例方法的定义
嵌套类的定义
属性方法
的定义
在
属性方法
的定义中,使用
attr_accessor
、
attr_reader
、
attr_writer
(
不使用
attr
)
方法的定义
方法的定义中,形参要用括号括起来。但是
、
没有参数的时候,括号可以省略。
正
例
:
def foo(x, y)
...
end
def foo
...
end
误
例
:
def foo x, y
...
end
def foo()
...
end
类方法的定义
类方法的定义的时候要使用
self
。
正
例
:
class Foo
def self.foo
...
end
end
误
例
:
class Foo
def Foo.foo
...
end
end
方法调用
调用某个方法的时候,参数要用括号括起来
。
但是,没有参数的时候,括号可以省略。
另外,
print
、
puts
、
p
的时候,也可已省略参数
。
正
例
:
foo(1, "abc")
obj.foo(1, "abc")
bar
print "x = ", x, "/n"
误
例
:
foo 1, "abc"
obj.foo 1, "abc"
bar()
代码块
一个代码块基本上使用
do ... end
来包括起来
正
例
:
foo(x, y) do
...
end
x = bar(y, z) do
...
end
误
例
:
foo(x, y) {
...
}
x = bar(y, z) {
...
}
但是,方法链使用的时候,用
{ ... }
来包括起来。
正
例
:
s = ary.collect { |i| i.to_s }.join(",")
误
例
:
s = ary.collect do |i| i.to_s end.join(",")
return
方法有返回值的时候
、
必须使用
return
来明示
。
另外
、
return
的括号可以省略。
例
:
def add(x, y)
return x + y
end
误
例
:
def add(x, y)
x + y
end
def add(x, y)
return(x + y)
end
yield
yield
的调用方法遵照方法的调用规则
。
条件分支
If
语句的
then
可以省略
。
另外
、
如果是
if !x
的时候
、
请用
unless x
来置换。
但是,
unless
的时候
、
不使用
else
。
还有,非常简单的条件,一行能够写下来的时候,直接使用
if
/
while
也可
。
正
例
:
if x > 0
puts "x > 0"
else
puts "x <= 0"
end
unless x
puts "x is false"
end
puts "x is true" if x
误
例
:
if x > 0 then
puts "x > 0"
end
unless x
puts "x is false"
else
puts "x is true"
end
puts "foo && bar && baz && quux" if foo &&
bar && baz && quux
能使用
case
、请使用
case
以上就是
Ruby 编程规范
的详细内容,更多关于Ruby 编程规范的资料请关注
九品源码
其它相关文章!
相关热词:
Ruby
编程
规范
上一篇:
php日期转换为时间戳的方法
下一篇:
Python实现图像和办公文档处理的方法和技巧
文章分类
IT资讯
CMS教程
服务器
数据库
前端开发
后端开发
工具使用
其他教程
最后更新
WordPress功能插件开发快速入门指南
揭秘10大顶级反向图片搜索引擎:重新定义图片搜索
Python实现循环语句的方式分享
Python入门教程(三十四)Python的文件处理
彻底弄懂Javascript模块导入导出
在ubuntu linux下安装*.sh的方法
Python入门教程(三十七)Python中的删除文件
JavaScript中的宏任务和微任务执行顺序
Ubuntu安装.run文件
python之js逆向功能演示详解
热门排行
帝国CMS7.5二次开发遇到的问题总结
phpcms v9网站搬家更换域名的方法
phpcms v9更改后台文章排序的教程
WordPress常用的函数、方法汇总
WordPress设置导航菜单
NGINX 配置404错误页面转向
PHP保留两位小数的几种方法
android开发 Gradle 如何降版本?
gradle 插件版本、gradle版本 和buildToolsVersion之间的对应关系
预防Dede织梦网站被挂马的15条实用方法
×
九品源码
欢迎登录九品源码
账号登录
QQ登录
新浪微博登录
百度登录
本站已有295人使用QQ登录
你即将成为第296位