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

首頁 > 學院 > 開發設計 > 正文

GitHub倡導的Ruby代碼編寫風格總結

2019-10-26 19:29:38
字體:
來源:轉載
供稿:網友

源代碼布局方面:
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: 'bob@example.com',          from: 'us@example.com',          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、避免使用@@,全局變量,

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 罗定市| 新安县| 霍林郭勒市| 封丘县| 周口市| 罗田县| 滦平县| 咸丰县| 揭阳市| 炎陵县| 内黄县| 江安县| 宽甸| 濉溪县| 东至县| 铜陵市| 马公市| 凤翔县| 九寨沟县| 宜昌市| 四会市| 塔河县| 黑水县| 丰城市| 苗栗县| 靖安县| 蕉岭县| 水城县| 墨竹工卡县| 阿坝县| 平武县| 镇巴县| 伊吾县| 漳州市| 曲靖市| 宁明县| 安远县| 巴里| 濉溪县| 特克斯县| 巴南区|