你应该知道的Ruby代码风格

一、空格与tab
使用空格缩进(95.364%)
使用Tab缩进(4.636%)
基于 1,001,987 次提交
二、最大行宽
80字符(92.618%)
120字符(5.893%)
150字符(1.489%)
基于 1,057,374 次提交
三、运算符、冒号、花括号周围,逗号、分号后是否使用空格
不使用空格(73.366%)


代码如下:

sum = 1 +2
a,b = 1, 2
1>2 ? true : false;puts 'Hi'
[1, 2, 3].each {|e| puts e}

使用空格(26.634%)


代码如下:

sum = 1 + 2
a, b = 1, 2
1 > 2 ? true : false; puts 'Hi'
[1, 2, 3].each { |e| puts e }

基于 911,301 次提交
四、默认参数
前后空格(59.151%)


代码如下:

def some_method(arg1 = :default, arg2 = nil, arg3 = [])
  # do something...
end

前后无空格或只有一个空格(40.849 %)


代码如下:

def some_method(arg1=:default, arg2=nil, arg3=[])
  # do something...
end

基于 19,213 次提交
五、长数字
不使用下划线 (97.984 %)


代码如下:

num = 1000000

使用下划线 (2.016 %)


代码如下:

num = 1_000_000

基于 133,530 次提交
六、无参数时是否省略括号
省略括号(98.556 %)


代码如下:

def some_method
  # do something...
end

不省略括号(1.444 %)


代码如下:

def some_method()
  # do something...
end

基于 267,404 次提交
七、定义函数时参数周围是否使用括号
省略(62.867 %)


代码如下:

def some_method arg1, arg2
  # do something...
end

不省略(37.133 %)


代码如下:

def some_method(arg1, arg2)
  # do something...
end

基于 365,121 次提交

(0)

相关推荐

  • GitHub倡导的Ruby代码编写风格总结

    源代码布局方面: 1.所有源文件以UTF-8编码 2.使用2个空格的缩进 3.使用Unix风格的换行符(\n),windows(\r\n).可使用git config --global core.autocrlf true 防止产生windows风格的换行符. 4.在',',':'后,操作符(除指数操作之外),'{','}'的前后增加空格,增加代码的可读性. 5.在'(',')','[',']'符号后不要加空格. 6.Case和When处于同一代码层次. 7.2个def之间使用一个空行隔开 8.

  • 浅析Ruby的源代码布局及其编程风格

    使用 UTF-8 作为源文件编码. 每个缩进级别使用两个 spaces (又名软 tabs). 不要硬 tabs # bad - four spaces def some_method do_something end # good def some_method do_something end 使用 Unix-风格 换行符.(*BSD/Solaris/Linux/OSX 用户被为默认涵盖,Windows 用户必须特别小心.) \n是换行,英文是LineFeed,ASCII码是0xA. \r是

  • Ruby编程中的语法使用风格推荐

    使用 :: 引用常量(包括类和模块)和构造器 (比如 Array() 或者 Nokogiri::HTML()).     永远不要使用 :: 来调用方法. # bad SomeClass::some_method some_object::some_method # good SomeClass.some_method some_object.some_method SomeModule::SomeClass::SOME_CONST SomeModule::SomeClass() 使用括号将de

  • Ruby编程中的命名风格指南

    用英语命名标识符. # bad - identifier using non-ascii characters заплата = 1_000 # bad - identifier is a Bulgarian word, written with Latin letters (instead of Cyrillic) zaplata = 1_000 # good salary = 1_000 使用snake_case的形式给变量和方法命名. # bad :'some symbol' :Some

  • Ruby中编写类与模块的风格指南

    在 class 定义里使用一致的结构. class Person # extend and include go first extend SomeModule include AnotherModule # constants are next SOME_CONSTANT = 20 # afterwards we have attribute macros attr_reader :name # followed by other macros (if any) validates :name

  • 你应该知道的Ruby代码风格

    一.空格与tab使用空格缩进(95.364%)使用Tab缩进(4.636%)基于 1,001,987 次提交二.最大行宽80字符(92.618%)120字符(5.893%)150字符(1.489%)基于 1,057,374 次提交三.运算符.冒号.花括号周围,逗号.分号后是否使用空格不使用空格(73.366%) 复制代码 代码如下: sum = 1 +2a,b = 1, 21>2 ? true : false;puts 'Hi'[1, 2, 3].each {|e| puts e} 使用空格(2

  • 21个你应该知道的Ruby编程技巧

    1. 快速获取正则表达式的匹配值 通常我们使用正则表达式,都是先match,然后再取结果,但是这样有时候会抛异常,看下面例子: 复制代码 代码如下: email = "Fred Bloggs " email.match(//)[1] # => "fred@bloggs.com" email[//, 1] # => "fred@bloggs.com" email.match(/(x)/)[1] # => NoMethodError

  • PHP小白必须要知道的php基础知识(超实用)

    很多人看到PHP就以为是程序员,就以为钱很多(虽然是事实),但是也要考虑下自己是不是适合这一行,知道PHP是什么吗?PHP都有什么样的功能,都能用来干嘛? PHP是什么? •PHP(PHP: Hypertext Preprocessor,超文本预处理器的缩写),是一 种被广泛应用的开放源代码的.基于服务器端的用于产生动态网页 的.可嵌入HTML中的脚本程序语言,尤其适合 WEB 开发. •当客户端向服务器的程序提出请求时,web服务器根据请求晌应对应 的页面,当页面中含有php脚本时,服务器会交

  • 一定要知道的 25 个 Vue 技巧

    目录 1. 将 prop 限制为类型列表 2. 默认内容和扩展点 3. 使用引号观察嵌套值 4. 知道何时使用 v-if(以及何时避免使用) 5. 单作用域 slot 的简写(不需要模板标签!) 6. 有条件地渲染slot 6.1 为什么我们希望能够有条件地渲染slot呢? 7. 如何观察slot的变化 8. 将本地和全局风格混合在一起 9. 覆盖子组件的样式--正确的方法 10. 用上下文感知组件创造魔法 10.1 状态共享 10.2 配置 10.3 造型 11. 如何使在 Vue 之外创建的

  • 分享下网站开发人员应该知道的61件事

    不出意料地,他得到了一大堆回答. 通常情况下,你需要把所有人的发言从头到尾读一遍.但是,Stack Overflow有一个很贴心的设计,它允许在问题下方开设一个wiki区,让所有人共同编辑一个最佳答案.于是,就有了下面这篇文章,一共总结出六个方面共计61条"网站开发须知". 我发现,这种概述性的问题,最适合这种集合群智.头脑风暴式的回答方式了.这也是我第一次觉得,Stack Overflow做到了Wikipedia做不到的事.(难怪它最近挤进了全美前400大网站.) 在我的印象中,关于

  • Web开发/设计人员应当知道的15个网站

    ColorCombos 在进行网站设计的时候,开始步骤的其中一项(也是最重要)的内容是选择出一个配色方案. Color Combos让你可以浏览上千个不同的颜色组合,以便从中为你即将开始的设计汲取灵感.其配色方案可按颜色浏览. LIpsum 风靡之至的Lorem Ipsum文字,其大名谁人不知?哪个不晓?(译注:查了才知道,这是指一篇用于测试排版设计的拉丁文文章,从15世纪开始就被广泛使用,文章因以Lorem Ipsum开头而得名)该段文字被全球各地的网站设计者用来在设计中对其真正的文字的呈现效

  • PHP 开发者该知道的 5 个 Composer 小技巧

    Composer 是新一代的PHP依赖管理工具.其介绍和基本用法可以看这篇<Composer PHP依赖管理的新时代>.本文介绍使用Composer的五个小技巧,希望能给你的PHP开发带来方便. 1. 仅更新单个库 只想更新某个特定的库,不想更新它的所有依赖,很简单: composer update foo/bar 此外,这个技巧还可以用来解决"警告信息问题".你一定见过这样的警告信息: Warning: The lock file is not up to date wi

  • 实例详解Vue项目使用eslint + prettier规范代码风格

    团队开发的项目,如果没有对代码风格作要求,有多少团队成员,就当然会出现多少种不同的代码风格.因此,我们需要一种能够统一团队代码风格的工具,作为强制性的规范,统一整个项目的代码风格. 幸好,我们有 eslint 和 prettier . eslint VS prettier 应该大多数项目都已经采用eslint来对代码进行质量检查,可能少部分还会采用其进行一定程度上的统一风格.那为什么还需要prettier呢?我们先来对它们作一个简单的了解. 各种linters 总体来说,linters有两种能力

  • 你应该知道的Python3.6、3.7、3.8新特性小结

    很多人在学习了基本的Python语言知识后,就转入应用阶段了,后期很少对语言本身的新变化.新内容进行跟踪学习和知识更新,甚至连已经发布了好几年的Python3.6的新特性都缺乏了解. 本文列举了Python3.6.3.7.3.8三个版本的新特性,学习它们有助于提高对Python的了解,跟上最新的潮流. 一.Python3.6新特性 1.新的格式化字符串方式 新的格式化字符串方式,即在普通字符串前添加 f 或 F 前缀,其效果类似于str.format().比如 name = "red"

  • 经验丰富程序员才知道的8种高级Python技巧

    本文将介绍8个简洁的Python技巧,若非经验十足的程序员,你肯定有些从未见过.向着更简洁更高效,出发吧! 1.通过多个键值将对象进行排序 假设要对以下字典列表进行排序: people = [ { 'name': 'John', "age": 64 }, { 'name': 'Janet', "age": 34 }, { 'name': 'Ed', "age": 24 }, { 'name': 'Sara', "age": 6

随机推荐