国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Ruby編程中的命名風(fēng)格指南

2019-10-26 19:28:14
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

用英語(yǔ)命名標(biāo)識(shí)符。

  

 # 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(駝峰式大小寫(xiě))的形式給類(lèi)和模塊命名。(保持使用縮略首字母大寫(xiě)的方式如HTTP,
    RFC, XML)

    

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

    使用 snake_case 來(lái)命名文件, 例如 hello_world.rb。

    以每個(gè)源文件中僅僅有單個(gè) class/module 為目的。按照 class/module 來(lái)命名文件名,但是替換 CamelCase 為 snake_case。

    使用SCREAMING_SNAKE_CASE給常量命名。

 

  # bad  SomeConst = 5  # good  SOME_CONST = 5

    在表示判斷的方法名(方法返回真或者假)的末尾添加一個(gè)問(wèn)號(hào)(如Array#empty?)。
    方法不返回一個(gè)布爾值,不應(yīng)該以問(wèn)號(hào)結(jié)尾。

    可能會(huì)造成潛在“危險(xiǎn)”的方法名(如修改 self或者 參數(shù)的方法,exit! (不是像 exit 執(zhí)行完成項(xiàng))等)應(yīng)該在末尾添加一個(gè)感嘆號(hào)如果這里存在一個(gè)該 危險(xiǎn) 方法的安全版本。

   

 # 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

    如果可能的話,根據(jù)危險(xiǎn)方法(bang)來(lái)定義對(duì)應(yīng)的安全方法(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

    當(dāng)在短的塊中使用 reduce 時(shí),命名參數(shù) |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            
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 神农架林区| 齐齐哈尔市| 金阳县| 长乐市| 京山县| 松滋市| 曲靖市| 庄浪县| 寻甸| 施甸县| 湖南省| 宜州市| 图片| 玉环县| 布尔津县| 海宁市| 威海市| 广德县| 安化县| 扎赉特旗| 谷城县| 大化| 临江市| 山东| 文化| 东阳市| 盱眙县| 成安县| 犍为县| 繁峙县| 微博| 深泽县| 高台县| 龙游县| 车致| 方城县| 沙雅县| 杂多县| 青龙| 阿巴嘎旗| 洛阳市|