这是我们开发团队的编码规范
本规约
、
记述的是在用
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
的风格来
描述
。
例
:
#
分割用逗号区分的字符串,把结果返回给数组。
def
split_csv(str)
return
str.split(/,/)
end
程序结构相关的规约
类的构成要素
类的构成要素以下记的顺序来记述。
-
模块的包含
-
常数的定义
-
类变量、类实例
变量
的定义
-
公有
类
方法的定义
-
accessor
的定义
-
initialize
的定义
-
公有实例方法的定义
-
保护类方法的定义
-
保护
accessor
的
定义
-
保护实例方法的定义
-
私有类方法的定义
-
私有
accessor
的定义
-
私有实例方法的定义
-
嵌套类的定义
accessor
的定义
在
accessor
的定义中,使用
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
。
另外,
省略
then
。
正
例
:
case
x
when
1
...
when
2
...
end
误
例
:
if
x == 1
...
elsif
x == 2
...
end
case
x
when
1 then
...
when
2 then
...
end
不要使用条件分支表达式的值
。
正
例
:
if
x > 0
msg
= "x > 0"
else
msg
= "x <= 0"
end
误
例
:
msg
= if x > 0
"x
> 0"
else
"x
<= 0"
end
循环
省略
While
语句
的
do
。
另外
、
像
while
!x
的时候
、
使用
until
x
。
正
例
:
while
cond
...
end
until
cond
...
end
误
例
:
while
cond do
...
end
另外
、
无限循环的时候,使用
loop
。
正
例
:
loop
do
...
end
误
例
:
while
true
...
end
逻辑运算符
逻辑运算中,使用
!
、
&&
、
||
。
(
不使用
not
/
and
/
or
。
)
三项运算符
除非有明确的可读性,尽量不要使用三项运算符
。
特别是
、
括号等必要的条件复杂的时候
、
跨行的时候
、
不使用三项运算符
。
字符串
字符串基本上使用
"..."
的形式
。
但是,
只有在不想解释特殊文字的时候
,使用
'...'
的形式
。
另外
、
原则上不使用“
here
document
”
分享到:
相关推荐
Ruby编程规约中文版是为了解决Ruby编程语言在实际应用中的一致性和可读性问题而编撰的规范文档。这份规约旨在提供一套通用的编程标准,以提高代码质量,减少团队间的沟通成本,并使代码更加易于理解和维护。Ruby是一...
Ruby编程语言入门与实践 Ruby编程语言入门与实践 Ruby编程语言入门与实践 Ruby编程语言入门与实践 Ruby编程语言入门与实践 Ruby编程语言入门与实践 Ruby编程语言入门与实践 Ruby编程语言入门与实践 Ruby编程语言入门...
如何设计一套Ruby编程技术课程体系+编程知识+技术开发; 如何设计一套Ruby编程技术课程体系+编程知识+技术开发; 如何设计一套Ruby编程技术课程体系+编程知识+技术开发; 如何设计一套Ruby编程技术课程体系+编程知识...
Ruby是一种面向对象的、动态类型的编程语言,以其简洁、优雅的语法和强大的元编程能力而闻名。本资料包主要关注的是基于Ruby编程的基础知识和应用,包括如何使用Ruby进行开发和解决问题。 Ruby的设计哲学强调程序员...
编程知识+技术开发+从技术小白到Ruby编程专家的学习路径;编程知识+技术开发+从技术小白到Ruby编程专家的学习路径;编程知识+技术开发+从技术小白到Ruby编程专家的学习路径;编程知识+技术开发+从技术小白到Ruby编程...
### Ruby编程语言简介 #### 一、Ruby编程语言概述 Ruby是一种动态的、面向对象的、通用型的编程语言,自1995年由日本程序员松本行弘(Yukihiro Matsumoto)创建以来,便以其简洁优雅的语法、高度可读性和易于学习...
Ruby元编程是编程领域中一个深入且强大的主题,它允许程序员在运行时修改或创建代码,极大地提高了灵活性和代码的动态性。这本书“Ruby元编程第二版”专注于讲解Ruby语言的这一独特特性,旨在帮助开发者更好地理解和...
本书详细介绍了Ruby 1.8和1.9版本各方面的内容。... 本书还包含对Ruby平台上丰富的API的详尽介绍,并用带有详尽注释的代码演示了Ruby进行文本处理、数字运算、集合、输入/输出、网络开发和并发编程的功能。
根据提供的文件信息,我们将深入探讨与“Ruby编程Ruby Programming”这一主题相关的几个核心知识点。这本面向初学者和高级读者的指南旨在全面介绍Ruby编程语言的基础及其高级特性,因此我们将从多个角度来解析这些...
Ruby编程语言[www.TopSage.com].pdf
### Ruby编程语言核心知识点解析 #### 一、书籍概述与作者背景 《The Book of Ruby》是由Huzaifa Sidhpurwala与Huw Collingbourne两位专家共同编著的一本深入探讨Ruby编程语言的书籍。该书不仅适用于Ruby编程初学...
松本行弘原著,Ruby编程入门非常好的书籍。共两个文件
《Ruby编程,实用程序员指南》是一本针对Ruby语言的学习教程与参考手册,旨在为程序员提供一个全面、深入的Ruby语言学习资源。本书不仅适合初学者快速入门,也适合具有一定经验的开发者进阶学习。 ### 一、Ruby语言...
ruby元编程.pdf ruby 元编程 这本书对ruby的调用原理做了非常精辟的分析。 ruby 元编程 这本书对ruby的元编程方式做了比较好的阐释。 ruby 元编程 这本书对结对编程有一个很好的提现。
[Ruby编程语言].David.Flanagan等
根据提供的文件信息,本文将对《Ruby元编程》这一主题进行深入探讨,解析其核心概念、应用场景以及为何元编程在Ruby语言中具有重要的地位。 ### 一、Ruby元编程简介 #### 1.1 元编程定义 元编程是指编写能够生成或...