麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Ruby > 正文

簡述GitHub倡導的Ruby代碼編寫

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

Github網站的服務器主要使用Ruby作為編程語言,因此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、對于一個方法有多個參數導致太長的時候,按如下方式處理

def send_mail(source)  Mailer.deliver(to: '[email protected]',          from: '[email protected]',          subject: 'Important message',          body: source.text) end 

9、使用Rdoc生產系統的API文檔,在注釋和def之間不要有空行。
10、每行不超過80行
11、每行的結尾不要有空白字符。

語法方面:
1、一個方法如果沒參數就省略括號,有參數就使用括號
2、如無必要,不要使用for,而使用each做循環
3、不要使用then
4、使用三元操作?:代替if,else。
5、不要在if else的內部使用?:操作符
6、使用when X then ...,因為when x ....在ruby1.9被刪除了
7、使用&&和||做boolean操作,使用and,or做流程控制。
8、unless和else不要一起用
9、除非是判斷條件涉及賦值操作,否則不不需要括起來
10、把多行語句塊使用{}包含,
11、不需要使用的return的時候就不要用
12、不要使用‘/'連接2行代碼
13、使用||=來初始話變量,但是不能用來初始化boolean變量
14、不要使用perl風格的變量名,$1-9之類的
15、運行Ruby的時候,加上“-w”以提示我們代碼中不好的地方
16、使用Ruby1.9的語法寫lambda和hash

命名規范:
1、使用小寫+“_"命名變量和方法
2、使用首字母大寫命名Module和Class
3、使用全大寫+”_"命名常量
4、對于返回值是boolean的方法加個“?”后綴
5、對于一些有潛在風險的方法加“!”后綴,比方說有exit,修改了self,或者變量等等

注釋:
1、關于注釋就一條,代碼即注釋,

類:
1、符合liskov原則,子類可以替換父類。
2、盡量讓類做到SOLID (Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion)
3、為每個類都寫一個to_s的方法以查看類的狀態。
4、使用attr家族的方法做類屬性的訪問控制
5、考慮增加新的工廠方法做一些有意義的實例初始化工作。
6、使用DuckTyping而非繼承。因為動態語言的特性,不在需要多態了。
7、避免使用@@,全局變量,
8、根據訪問情況,合理使用訪問控制符。
9、使用self來定義單例方法,而不是使用類名。

異常:
1、不要放過一些異常
2、不要使用異常做流程控制
3、不要捕獲Exception,異常基類。
4、根據異常類型的覆蓋面排列異常
5、把所有的外部資源放到異常捕獲模塊中
6、優先使用庫自帶的異常,而不是自己創建異常

集合:
1、優先使用%w創建字符串數組
2、按需創建數組
3、使用Set去除List中的重復元素
4、使用Symbol做Hash key,而不是String,不要使用可變對象做Hash Key。
5、不要在遍歷一個列表的同時,又在改變它。

Strings:
1、使用“#{String} #{string}”優于String+String
2、未使用#{}形式的String時,使用‘'表示
3、在做實例變量的連接時,不要使用{}
4、使用<<而不是+做字符串串聯

正則表達式:
1、使用命名組而非$1-9以便于跟蹤。
2、‘^','$'表示匹配整行,匹配整個字符串應使用'/A','/Z'
3、使用'x'修飾符修飾復雜的regex語句,增加可讀性,但是注意空格的去除問題

%的語法:
1、多使用%w
2、需要字符串內嵌表達式的時候使用%()
3、使用%r當正則表達式中出現多個/
4、不要使用%q ,%Q,%x,%W,%s這些字符
5、在%后優先使用()作為分隔符

以上就是我們為各位朋友們總結的簡述GitHub倡導的Ruby代碼編寫,上面的內容有沒有讓大家學會呢?希望可以幫助到大家。

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

圖片精選

主站蜘蛛池模板: 国产精品成人av片免费看最爱 | 黄色一级毛片免费看 | 欧美成人小视频 | 成人福利在线观看 | 一级毛片在线看 | 人与xxxxhdxxxhdxx| 成人免费一区 | av成人免费看 | 国产一区二区视频精品 | 久久精品之 | av免费av | 欧美日本色| 国产99一区二区 | 性爱免费视频 | 国产毛片毛片 | 午夜精品成人一区二区 | 精国品产一区二区三区有限公司 | 一区二区久久精品66国产精品 | 欧美激情猛片xxxⅹ大3 | 中国女警察一级毛片视频 | 91午夜少妇三级全黄 | 国产高清一区 | 国产成人高清在线观看 | av成人在线免费观看 | av在线播放电影 | 国产欧美在线观看不卡一 | 天堂精品| 成人18网站| 久久久久久久高清 | 国产91av视频 | 久久综合精品视频 | 久久久久久久久亚洲精品 | 少妇av片| 羞羞网站 | 一级毛片在线观看免费 | 国产精品久久久久久久久久10秀 | 亚洲第一视频 | 校花被肉干高h潮不断 | 激情综合婷婷久久 | 久久精品a一级国产免视看成人 | 一级黄色性感片 |