使用 Swift 來增加程式碼可讀性 by Appletone | CodeData
top

使用 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
  • Computed Properties

使用 Extensions 擴展功能,Extensions 能將現有的 類別 (Class)、結構 (Struct)、列舉 (Enum) 增加功能,好處是不用修改原始碼,就能達到擴展新功能的效果。

使用 Computed Properties,可提供 getter 或 setter 屬性時,運算處理成你想轉換的資料(還有不想打括號 :P )。

改善

改良程式:

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) 的優質程式碼。

依照這樣的方式,寫出漂亮的程式碼!

後續 >> 當 全世界的語言 都往 Functional Programming 發展

分享:
按讚!加入 CodeData Facebook 粉絲群

相關文章

留言

留言請先。還沒帳號註冊也可以使用FacebookGoogle+登錄留言

熱門論壇文章

熱門技術文章