這裡不是 ruby語言的編碼約定,只是建議,很少的一些建議。在語法正確的前提下,你可以按照自己的編碼風格自由組織你的**。
一. 命名
常量全用大寫的字母,用下劃線分割單詞。例如:max, array_length。
類名和模組名用大寫字母開頭的單詞組合而成。例如:myclass, person。
方法名全用小寫的字母,用下劃線分割單詞。例如:talk, is_prime?。在ruby裡,有時將「!」和「?」附於某些方法名後面。驚嘆號「!」暗示這個方法具有破壞性, 有可能會改變傳入的引數。問號「?」表示這個方法是乙個布林方法,只會返回 true 或 false。
變數和引數用小寫字母開頭的單詞組合而成。例如:name, currentvalue。
類名、模組名、變數名、引數名最好使用「名詞」或者「形容詞+名詞」。方法名最好使用「動詞」或者「動詞+名詞」。例如:astudent.talk 。
二. 空格和圓括號
關鍵字之後要留空格。
逗號「,」、 分號「;」之後要留空格。 「,」、 「;」向前緊跟,緊跟處不留空格。
賦值操作符、比較操作符、算術操作符、邏輯操作符,如「=」、「+=」 「>=」、「<=」、「+」、「*」、「%」、「&&」、「||」等二元操作符的前後應當加空格。
一元操作符如「!」、「~」等之後不加空格。
象「[]」、「.」、「::」這類操作符前後不加空格。
函式名之後不要留空格,緊跟左圓括號「(」,以與關鍵字區別。左圓括號「(」向後緊跟,右圓括號「)」向前緊跟,緊跟處不留空格。
ruby裡圓括號常常被省略,看程式 e5.5-1.rb :
ruby **
#e5.5-1.rb
def talk name
"hi! " + name
endputs talk "kaichuan"
# => hi! kaichuan
puts talk("kaichuan") # => hi! kaichuan
puts (talk "kaichuan") # => hi! kaichuan
puts (talk("kaichuan")) # => hi! kaichuan
優先規則會自動確定哪個引數被哪個方法使用。但是,生活並不總是美好的,事情經常變得複雜,看程式 e5.5-2.rb :
ruby **
#e5.5-2.rb
a=5
b=3
puts a>b ? "a>b" : "bbb"
# => a>b
puts (a>b)? ("a>b") : ("bbb") # => a>b
#puts a>b? "a>b" : "bbb" 錯誤語句
最後一條語句,變數b 與三元條件運算子的問號「?」之間沒有空格,沒有圓括號,產生錯誤。所以建議除了極簡單的情況,還是使用圓括號為好。
圓括號還可以把幾個語句約束成乙個語句集合,看程式 e5.5-3.rb :
ruby **
#e5.5-3.rb
a = 3
b = 1; a += b if 3 > 5
print "a = ", a, "\n"
# => a = 3
print "b = ", b, "\n"
# => b = 1
c = 3
(d = 1; c += d) if 3 > 5
print "c = ", c, "\n"
# => c = 3
print "d = ", d, "\n"
# => d = nil
條件為假,語句集合裡的變數d 沒有被賦值。
三. 使用 return
你在定義方法的時候,在最後一行可以顯式地 return 某個值或幾個值,但卻不是必須的。 ruby 方法的最後一行語句如果是表示式,表示式的值會被自動返回;最後一行語句如果不是表示式,就什麼也不返回。
return 並不僅僅用在方法的最後一行。使用 break 你能夠跳出本層迴圈,如果要從多重迴圈體中跳出,可以使用return ,結束這個方法; return還能夠從方法的某個執行點立即退出,而不理會方法的其餘**,例如程式 e3.12-1.rb 的方法 is_prime?。
四. 注釋
養成寫注釋的習慣吧!你見過沒有路標的高速公路嗎?
注釋表明了一段**塊的功能、意圖或是**塊的解釋,應該簡潔明瞭,錯誤的注釋不如沒有注釋。一般地,注釋的位置應與被描述的**相鄰,可以放在**的上方或右方,不要放在**的下方。
完整閱讀,請看我寫的 ruby語言中文教程all in one
初學FPGA一些建議
數位電路 這是大學裡的基本課程 涵蓋了一般數位電路的組合電路 時序電路 暫存器傳輸 儲存器以及可程式設計邏輯電路 fpga 就是其中一種 還有比較好的新增了計算機的指令集結構 處理器設計等計算機方面的內容,整個課程就很系統的介紹了硬體電路系統的整體框架。語言學習 初學 fpga 的話,時序和組合部分...
一些編碼規範
先判斷是否為空list null list.size 0提示條件裡不要有感嘆號!客戶很反感。字串加trim 判斷。去掉前邊的空格。儘量減少對變數的重複計算 明確乙個概念,對方法的呼叫,即使方法中只有一句語句,也是有消耗的,包括建立棧幀 呼叫方法時保護現場 呼叫方法完畢時恢復現場等。所以例如下面的操作...
分配時間的一些建議
一 儘量減少做無用功。勿衝動,再好的想法也不要衝動,做完了才發現白做了就晚了。勿求全,不要把目標定的太高,就像裝修房子,每個人都恨不得精益求精,最後花費巨大的錢財和時間,很多事情夠用就好。另外要學會放棄,人生可以做的事情很多,不必貪多,猴子掰玉公尺,最後一無所獲。這樣也許可以節約你80 的時間,還省...