狠狠撸

狠狠撸Share a Scribd company logo
Coding Freestyle
Hao Lee, iOS @ Taipei
2018/01/09
Freestyle
Freestyle你有 嗎?
?見見?山是?山
TheDefaultValue 是以哪種
?方式宣告?
(1) Global Variables
(2) Local Variables
(3) Type Properties
?見見?山 是?山不
TheDefaultValue 是以哪種
?方式宣告?
(3) Type Properties
?見見?山 是?山不
在 TheObject2 內創建?一個
Global Variable,其型別為
theObject1,該如何命名?
var ---------: theObject1
?見見?山 是?山不
在 TheObject2 內創建?一個
Global Variable,其型別為
theObject1,該如何命名?
var Object: theObject1
var TheObject: theObject1
類別?小寫開頭?
變數?大寫開頭?
?見見?山 是?山不
在 TheObject2 內創建?一個
Global Variable,其型別為
Int,該如何命名?
var ----------: Int
?見見?山 是?山不
在 TheObject2 內創建?一個
Global Variable,其型別為
Int,該如何命名?
var number: Int
?見見?山 是?山不
在 theObject1 內創建?一個
Global Variable,其型別為
Int,該如何命名?
var ----------: Int
?見見?山 是?山不
在 theObject1 內創建?一個
Global Variable,其型別為
Int,該如何命名?
var number: Int
?見見?山 是?山不
在 TheObject2 內創建?一個
Global Variable,其型別為
UIView,該如何命名?
var ---------: UIView
?見見?山 是?山不
在 TheObject2 內創建?一個
Global Variable,其型別為
UIView,該如何命名?
var mView: UIView
m開頭?
族繁不及備載
? method ?用?大寫開頭
? 單字以底線連結
? 空格亂放
? 無視 Optional Type 強制轉型
以上為真实故事
Freestyle
我觉得不?行行
建議千萬別這樣做…
上次有?人這樣…結果…
Coding Freestyle
Coding Freestyle
帕斯卡命名法
? 源?自於Pascal語?言的命名慣例例
? 單字之間不以空格斷開或連接號、底線連結
? 第?一個單字?首字?母採?用?大寫字?母;後續單字的?首
字?母亦?用?大寫字?母
? 也有?人稱之為「?大駝峰式命名法」
駝峰式?大?小寫
? 來來?自Perl語?言中普遍使?用的?大?小寫混合格式
? 因《Programming Perl》封?面圖片為駱駱駝得名
? 有兩兩種格式
? ?小駝峰式命名法:第?一個單字以?小寫字?母開始
? ?大駝峰式命名法:每?一個單字的?首字?母都採?用
?大寫字?母
匈牙利利命名法
? ?首次在BCPL語?言中被?大量量使?用
? 字?首代表了了變數的實際資料類型 bBusy:布林林型
? 不表?示實際資料類型,?而給出變數?目的的提?示
? usName:變數代表?一個非安全字串串
? 開頭表?示變數的作?用域 mView:類別成員
官?方版 API 設計指南
https://swift.org/documentation/api-design-guidelines/
GitHub 不是只有 Code
SwiftLint
編譯成功後,檢查 Coding Style 有无问题
SwiftLint
? 安裝?方式包含:Homebrew、CocoaPods、…
? Xcode:專案需?手動加入 Run Script Phase
? Atom:使?用 APM 安裝 linter-swiftlint
? Command Line:於專案?目錄輸入 swiftlint
? 之後…等著被程式約束如何撰寫程式了了
遇到不符合規範時
Xcode
遇到不符合規範時
Atom
遇到不符合規範時
Command Line
常?見見案例例
? 單?行行长度过长
? 連續換?行行
? 單?行行僅有空?白字元
? 迴圈內只有?一個 if
? method 太複雜
长度过长
暫時停?用規則
// swiftlint:disable <規則名稱>
記得勾選此項?目
Trailing Whitespace Violation: Lines should not have
trailing whitespace. (trailing_whitespace)
太複雜了了
寫了了?一堆 if...else、switch...case、guard...else
.swiftlint.yml
客製化規則
Q & A
Ad

Recommended

搁耻产测的类和对象模型
搁耻产测的类和对象模型
yinhm .
?
[圣思园][Java SE]Java se lesson 15
[圣思园][Java SE]Java se lesson 15
ArBing Xie
?
客製化换页动画
客製化换页动画
Hao Lee
?
把玩 Jenkins CI
把玩 Jenkins CI
Hao Lee
?
SceneKit 簡介
SceneKit 簡介
Hao Lee
?
105-2 iOS程式設計(十七)
105-2 iOS程式設計(十七)
Hao Lee
?
105-2 iOS程式設計(十五)
105-2 iOS程式設計(十五)
Hao Lee
?
105-2 iOS程式設計(十四)
105-2 iOS程式設計(十四)
Hao Lee
?
105-2 iOS程式設計(十三)
105-2 iOS程式設計(十三)
Hao Lee
?
105-2 iOS程式設計(十二)
105-2 iOS程式設計(十二)
Hao Lee
?
105-2 iOS程式設計(十一)
105-2 iOS程式設計(十一)
Hao Lee
?
105-2 iOS程式設計(十)
105-2 iOS程式設計(十)
Hao Lee
?
105-2 iOS程式設計(九)
105-2 iOS程式設計(九)
Hao Lee
?
105-2 iOS程式設計(八)
105-2 iOS程式設計(八)
Hao Lee
?
105-2 iOS程式設計(七)
105-2 iOS程式設計(七)
Hao Lee
?
105-2 iOS程式設計(六)
105-2 iOS程式設計(六)
Hao Lee
?
105-2 iOS程式設計(五)
105-2 iOS程式設計(五)
Hao Lee
?
105-2 iOS程式設計(四)
105-2 iOS程式設計(四)
Hao Lee
?
105-2 iOS程式設計(三)
105-2 iOS程式設計(三)
Hao Lee
?
105-2 iOS程式設計(二)
105-2 iOS程式設計(二)
Hao Lee
?
105-2 iOS程式設計(一)
105-2 iOS程式設計(一)
Hao Lee
?

More Related Content

More from Hao Lee (13)

105-2 iOS程式設計(十三)
105-2 iOS程式設計(十三)
Hao Lee
?
105-2 iOS程式設計(十二)
105-2 iOS程式設計(十二)
Hao Lee
?
105-2 iOS程式設計(十一)
105-2 iOS程式設計(十一)
Hao Lee
?
105-2 iOS程式設計(十)
105-2 iOS程式設計(十)
Hao Lee
?
105-2 iOS程式設計(九)
105-2 iOS程式設計(九)
Hao Lee
?
105-2 iOS程式設計(八)
105-2 iOS程式設計(八)
Hao Lee
?
105-2 iOS程式設計(七)
105-2 iOS程式設計(七)
Hao Lee
?
105-2 iOS程式設計(六)
105-2 iOS程式設計(六)
Hao Lee
?
105-2 iOS程式設計(五)
105-2 iOS程式設計(五)
Hao Lee
?
105-2 iOS程式設計(四)
105-2 iOS程式設計(四)
Hao Lee
?
105-2 iOS程式設計(三)
105-2 iOS程式設計(三)
Hao Lee
?
105-2 iOS程式設計(二)
105-2 iOS程式設計(二)
Hao Lee
?
105-2 iOS程式設計(一)
105-2 iOS程式設計(一)
Hao Lee
?
105-2 iOS程式設計(十三)
105-2 iOS程式設計(十三)
Hao Lee
?
105-2 iOS程式設計(十二)
105-2 iOS程式設計(十二)
Hao Lee
?
105-2 iOS程式設計(十一)
105-2 iOS程式設計(十一)
Hao Lee
?
105-2 iOS程式設計(十)
105-2 iOS程式設計(十)
Hao Lee
?
105-2 iOS程式設計(九)
105-2 iOS程式設計(九)
Hao Lee
?
105-2 iOS程式設計(八)
105-2 iOS程式設計(八)
Hao Lee
?
105-2 iOS程式設計(七)
105-2 iOS程式設計(七)
Hao Lee
?
105-2 iOS程式設計(六)
105-2 iOS程式設計(六)
Hao Lee
?
105-2 iOS程式設計(五)
105-2 iOS程式設計(五)
Hao Lee
?
105-2 iOS程式設計(四)
105-2 iOS程式設計(四)
Hao Lee
?
105-2 iOS程式設計(三)
105-2 iOS程式設計(三)
Hao Lee
?
105-2 iOS程式設計(二)
105-2 iOS程式設計(二)
Hao Lee
?
105-2 iOS程式設計(一)
105-2 iOS程式設計(一)
Hao Lee
?

Coding Freestyle