亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Ruby > 正文

Ruby編程中的命名風格指南的操作方法

2020-02-24 15:36:42
字體:
來源:轉載
供稿:網友

Ruby編程中的命名風格指南的操作方法,大家都知道嗎?我們討論實際使用中的用法,其實這是一個很好的指南,但是人們拒絕使用或根本無用,下面武林技術頻道小編帶你學習!

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'  :SomeSymbol  :someSymbol  someVar = 5  def someMethod   ...  end  def SomeMethod   ...  end  # good  :some_symbol  def some_method   ...  end

??? Snake case: punctuation is removed and spaces are replaced by single underscores. Normally the letters share the same case (either UPPER_CASE_EMBEDDED_UNDERSCORE or lower_case_embedded_underscore) but the case can be mixed

??? 使用CamelCase(駝峰式大小寫)的形式給類和模塊命名。(保持使用縮略首字母大寫的方式如HTTP,
??? RFC, XML)

????

# bad  class Someclass   ...  end  class Some_Class   ...  end  class SomeXml   ...  end  # good  class SomeClass   ...  end  class SomeXML   ...  end

??? 使用 snake_case 來命名文件, 例如 hello_world.rb。

??? 以每個源文件中僅僅有單個 class/module 為目的。按照 class/module 來命名文件名,但是替換 CamelCase 為 snake_case。

??? 使用SCREAMING_SNAKE_CASE給常量命名。

?

  # bad  SomeConst = 5  # good  SOME_CONST = 5

??? 在表示判斷的方法名(方法返回真或者假)的末尾添加一個問號(如Array#empty?)。
??? 方法不返回一個布爾值,不應該以問號結尾。

??? 可能會造成潛在“危險”的方法名(如修改 self或者 參數的方法,exit! (不是像 exit 執行完成項)等)應該在末尾添加一個感嘆號如果這里存在一個該 危險 方法的安全版本。

???

 # bad - there is not matching 'safe' method  class Person   def update!   end  end  # good  class Person   def update   end  end  # good  class Person   def update!   end   def update   end  end

??? 如果可能的話,根據危險方法(bang)來定義對應的安全方法(non-bang)。

  class Array   def flatten_once!    res = []    each do |e|     [*e].each { |f| res << f }    end    replace(res)   end   def flatten_once    dup.flatten_once!   end  end

??? 當在短的塊中使用 reduce 時,命名參數 |a, e| (accumulator, element)。

  #Combines all elements of enum枚舉 by applying a binary operation, specified by a block or a symbol that names a method or operator.  # Sum some numbers  (5..10).reduce(:+)              #=> 45#reduce  # Same using a block and inject  (5..10).inject {|sum, n| sum + n }      #=> 45 #inject注入  # Multiply some numbers  (5..10).reduce(1, :*)             #=> 151200  # Same using a block  (5..10).inject(1) {|product, n| product * n } #=> 151200

??? 在定義二元操作符時,把參數命名為 other (<< 與 [] 是這條規則的例外,因為它們的語義不同)。

  def +(other)   # body omitted  end

??? map 優先于 collect,find 優先于 detect,select 優先于 find_all,reduce 優先于inject,size 優先于 length。以上的規則并不絕定,如果使用后者能提高代碼的可讀性,那么盡管使用它們。有押韻的方法名(如 collect,detect,inject)繼承于 SmallTalk 語言,它們在其它語言中并不是很通用。鼓勵使用 select 而不是 find_all 是因為 select 與 reject 一同使用時很不錯,并且它的名字具有很好的自解釋性。

??? 不要使用 count 作為 size 的替代。對于 Enumerable 的 Array 以外的對象將會迭代整個集合來
??? 決定它的尺寸。

?

  # bad  some_hash.count  # good  some_hash.size

??? 傾向使用 flat_map 而不是 map + flatten 的組合。
??? 這并不適用于深度大于 2 的數組,舉個例子,如果 users.first.songs == ['a', ['b', 'c']] ,則使用 map + flatten 的組合,而不是使用 flat_map 。
??? flat_map 將數組變平坦一個層級,而 flatten 會將整個數組變平坦。

  # bad  all_songs = users.map(&:songs).flatten.uniq  # good  all_songs = users.flat_map(&:songs).uniq

??? 使用 reverse_each 代替 reverse.each。reverse_each 不會分配一個新數組并且這是好事。

  # bad  array.reverse.each { ... }  # good  array.reverse_each { ... }

  以上就是關于Ruby編程中的命名風格指南的操作方法,相信大家都查了很多內容了,總有一篇文章適合你,如果你覺得不錯,也可以推薦給自己的朋友的哦。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲人午夜色婷婷| 亚洲va欧美va国产综合剧情| 国产精品日韩久久久久| 欧美一区在线直播| 亚洲男人天堂2024| 亚洲毛片在线看| 欧美激情a∨在线视频播放| 草民午夜欧美限制a级福利片| 色综久久综合桃花网| 欧洲美女7788成人免费视频| 精品亚洲国产视频| 国产69精品久久久| 亚洲毛片一区二区| 国产一区二区三区欧美| 国产日韩在线亚洲字幕中文| 97免费在线视频| 久久久久久成人| 精品久久久久久中文字幕一区奶水| 亚洲精品视频免费| 欧美福利视频网站| 日本道色综合久久影院| 中文字幕亚洲欧美日韩2019| 成人深夜直播免费观看| 久久久免费高清电视剧观看| 久久天天躁狠狠躁夜夜爽蜜月| 欧美黄色片在线观看| 一本大道香蕉久在线播放29| 国产视频999| 久久久精品视频在线观看| 黑人巨大精品欧美一区免费视频| 日韩一二三在线视频播| 日韩在线免费av| 最近中文字幕mv在线一区二区三区四区| 欧美成人激情视频免费观看| 欧美xxxx做受欧美.88| 亚洲精品久久久久久久久久久久久| 欧美俄罗斯性视频| 一区二区欧美激情| 福利视频第一区| 亚洲国产精品网站| 国产成人久久精品| 日本sm极度另类视频| 亚洲最大av在线| 亚洲精品久久久一区二区三区| 国产精品盗摄久久久| 456国产精品| 亚洲一二三在线| 国产精品一区二区3区| 精品自在线视频| 性欧美暴力猛交69hd| 中文亚洲视频在线| 亚洲色图综合久久| 一区二区在线免费视频| 18性欧美xxxⅹ性满足| 国产精品视频男人的天堂| 日本亚洲欧美三级| 久久影院中文字幕| 欧美精品情趣视频| 亚洲人成电影网| 在线视频欧美日韩精品| 国模视频一区二区三区| 亚洲高清一区二| 久久精品色欧美aⅴ一区二区| 欧美日韩国产中字| 亚洲乱亚洲乱妇无码| 久久99国产综合精品女同| 亚洲综合色av| 北条麻妃一区二区三区中文字幕| 欧美激情xxxx| 亚洲www永久成人夜色| 国自在线精品视频| 欧美性猛交xxxx| 亚洲午夜性刺激影院| 国产成人亚洲精品| 91精品国产自产在线| 国产成人免费av电影| 高清欧美性猛交xxxx黑人猛交| 久久色在线播放| 中文字幕在线观看日韩| 亚洲男女自偷自拍图片另类| 欧美剧在线观看| 国产成人在线精品| 中文字幕日韩av综合精品| 欧美丝袜美女中出在线| 伊人久久五月天| 亚洲aaa激情| 亚洲天堂2020| 欧美日韩色婷婷| 2019亚洲日韩新视频| 最近2019中文字幕一页二页| 久久久国产在线视频| 欧美精品久久一区二区| 久久91亚洲人成电影网站| 国语自产在线不卡| 欧美成人国产va精品日本一级| 国产精品高潮呻吟久久av野狼| 主播福利视频一区| 欧美性感美女h网站在线观看免费| 国产日韩av在线播放| 久久人人爽人人爽爽久久| 国产精品久久久久久久久久免费| 亚洲成av人片在线观看香蕉| 国产欧美精品一区二区三区-老狼| 91精品在线看| 亚洲色在线视频| 精品久久中文字幕久久av| 日韩欧美中文字幕在线播放| 亚洲一区二区久久| 日韩激情视频在线播放| 国产精品亚洲网站| 91av成人在线| 久久777国产线看观看精品| 久久韩剧网电视剧| 神马久久久久久| 日本亚洲精品在线观看| 久久久av免费| 国产精品视频色| 成人精品久久一区二区三区| 中文字幕日韩在线观看| 国产精品极品美女粉嫩高清在线| 国产精品吊钟奶在线| 欧美老女人性生活| 国产网站欧美日韩免费精品在线观看| 成人黄色激情网| 久久人体大胆视频| 亚洲日本aⅴ片在线观看香蕉| 国产91在线播放| 日韩一级黄色av| 一本色道久久综合狠狠躁篇的优点| 欧美性猛交xxxx久久久| 精品成人69xx.xyz| 91色琪琪电影亚洲精品久久| 精品欧美激情精品一区| 久久亚洲国产精品成人av秋霞| 少妇高潮久久久久久潘金莲| 狠狠综合久久av一区二区小说| 色噜噜狠狠色综合网图区| 国产精品极品美女在线观看免费| 欧美第一淫aaasss性| 国产精品视频网址| 国产精品精品国产| 日韩成人黄色av| 中文字幕精品www乱入免费视频| 国产成人在线播放| 91在线观看免费网站| 欧美丰满老妇厨房牲生活| 国产欧美久久久久久| 色妞色视频一区二区三区四区| 欧美性做爰毛片| 91精品国产综合久久香蕉922| 青青在线视频一区二区三区| 国产91精品黑色丝袜高跟鞋| 国产va免费精品高清在线观看| 亚洲国产成人91精品| 亚洲区bt下载| 日产日韩在线亚洲欧美| 亚洲影视九九影院在线观看| 国产精品免费久久久久影院| 欧美日韩国产一区在线| 国产欧美日韩亚洲精品| 国产精品影片在线观看| 亚洲大胆人体av| 精品国产自在精品国产浪潮| 青青草精品毛片|