翻譯自: https://github.com/gkz/LiveScript-style-guide
本語法指南是針對 LiveScript(http://livescript.net) 所撰寫。
使用連字號 (-) 而不採用駝𡶶式或下底線 (_) 來進行命名、取用變數。
to-upper-case = -> it.to-upper-case!
其中的例外是類別,使用帕斯卡命名法(大駝峰式)。
class WidgetThing extends Base ...
可以的話儘量少用逗號。這表示只要前面不是可呼叫的元素(例如函數)就可以省略逗號(也適用於呼叫引數)。然而,保持整體的一致性,要就全加逗號,不然就全部都不加。
[1 2 3] add-numbers 5 x [1, x, 3]
省略所有能夠被省略的括號。
不要用在函數的呼叫:
Math.pow 2 3
如果你想傳入一個資料結構,可以搭配 do
語法取代括號的使用:
some-func do prop: 3 other: 5
在鏈接技術 (chaning) 中,一樣可以省略括號的使用:
$ '#content .slider' .find 'a' .slide-up!
Tip
|
譯者註
編譯的結果是一個 jQuery 呼叫 $('#content .slider').find('a').slideUp(); |
在清單中也可以使用分號來分隔函數呼叫來避免使用括號,此處使用逗號會解析錯誤。
[add 2 3; times 2 3]
Tip
|
譯者註
上述的程式編譯後會是 [add(2, 3), times(2, 3)]; 但如果是改用逗號取代分號: [add 2 3, times 2 3] 則會被編譯成: [add(2, 3, times(2, 3))]; |
如同之前提到的,如果引數中的逗號是可以被省略的,那就省略它。
如果你呼叫的是一個不需要引數的函數,使用簡捷方式呼叫:
func!
除非你打算對回傳結果作 NOT 運算或強制轉型成布林值,這時候才使用 ()
,否則程式看起來會怪怪的。
!func() !!func()
Tip
|
譯者註
原作者認為怪怪的程式應該是像下面的兩行: !func! !!func! |
如之前所提到的,將 switch 的內容排整齊。
如果你能夠讓每個 case 語句精簡在一行內,那就使用下面例子上半的較短版本及 otherwise
語法。否則還是使用使用下半部使用 default
的較長版本。
switch | even x => x | even y => y | otherwise => x + y
switch case f x blah ... case g x asdf ... default ...