使用 Swift 來增加程式碼可讀性
今天來分享一下,怎麼用 Swift 語言,強大的特性與功能,把程式碼可讀性提高。 舉個例子,我們在使用日期時,會用到 NSDate, NSCalendar, NSDateComponents … 思考問題寫起來都不是很好閱讀 import Foundation var dateComponent = NSDateComponents() dateComponent.day = -3 var theCalendar = NSCalendar.currentCalendar() var date = theCalendar.dateByAddingComponents(dateComponent, toDate: NSDate(), options: nil) println(date) // => 2014/7/27 下午7:51 善用 Swift 的特性我們用到幾個 Swift 的特性:
使用 Extensions 擴展功能,Extensions 能將現有的 類別 (Class)、結構 (Struct)、列舉 (Enum) 增加功能,好處是不用修改原始碼,就能達到擴展新功能的效果。 使用 Computed Properties,可提供 getter 或 setter 屬性時,運算處理成你想轉換的資料(還有不想打括號 )。 改善改良程式: import Foundation extension Int { var days:Int { return 60*60*24*self } var ago:NSDate { return NSDate().dateByAddingTimeInterval(-Double(self)) } } 我們用 Extensions 替 Class Int 增加 days, ago 兩個 Computed Properties。 使用方式: var d = 3.days.ago println(d) // => 2014/7/27 下午7:51 可以使用 n.days.ago 取得 n 天前的日期,使用方便,提供給大家參考。思考如何寫出 無瑕的 (clean) 跟 可讀性高 (readable) 的優質程式碼。 依照這樣的方式,寫出漂亮的程式碼! |