RubyNamingRule(CN).docVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
RubyNamingRule(CN)

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的风格来描述。 例: #分割用逗号区分的字符串,把结果返回给数组。 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

文档评论(0)

juhui05 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档