最近學 Ruby 看到一些特性,讓我覺得有點毛毛的,像是 Ruby 的 function call syntax:
list = [0, 1, 2, 3, 4]
list.count()
# 寫可以這樣寫
list.count
count() 還算好,如果是 fetch() 就有趣了:
list.fetch(3) # 3
# 刮號可以省略
list.fetch 3 # 3
不否認這種特性可以工程師提高開發效率,算是 syntax sugar 吧?但是若沒有一致的 coding srandard,可能會讓整個專案的程式碼變的雜亂不容易閱讀,這樣就變成「syntax salt」了。
list = [1, 2, 3]
# 這個應該沒什麼問題
list.fetch(1) + 5 # 7
# 這個就很容易誤會了
list.fetch 1 + 5 # IndexError
感謝 @david50407 提供 Ruby Style Guide!