Scala編碼規範與最佳實踐 測試

2021-10-19 18:25:56 字數 659 閱讀 7982

測試

測試類應該與被測試類處於同一包下。如果使用spec2或scalatest的flatspec等,則測試類的命名應該為:被測類名 + spec;若使用junit等框架,則測試類的命名為:被測試類名 + test

測試含有具體實現的trait時,可以讓被測試類直接繼承trait。例如:

trait recordsgenerator 

}class recordsgeneratorspec extends flatspec with shouldmatcher with recordgenerator

}

若要對檔案進行測試,可以用字串假裝檔案:

type csvline =

string

def formatcsv(source: source)

: list[csvline]

=

formatcsv需要接受乙個檔案源,例如source.fromfile(「testdata.txt」)。但在測試時,可以通過source.fromstring方法來生成formatcsv需要接收的source物件:

it should "format csv lines" in

Scala 最佳實踐 純函式

我們所處的是乙個命令式程式設計 imperative programming 的時代,這也是我們為何更喜歡用命令式風格寫 的原因。在我們周圍的一切都是可變的。雖然可變性並沒有那麼差勁,但是共享可變性就有點麻煩了。當我們引入共享可變性時,各種問題就會隨之而來。函式式風格是應對這類問題的乙個很好的方法。...

python程式設計規範 最佳實踐

全部小寫,由下劃線連線各個單詞,比如home addr 注意 1 不論是成員變數還是全域性變數,均不使用m或g為字首 2 變數名不應該帶有型別資訊,因為python是動態語言類,比如name list,stu info dict等都不可以 所有字母大寫,由下劃線連線各個單詞,比如pi 3.14 以 ...

python程式設計規範 最佳實踐

全部小寫,由下劃線連線各個單詞,比如home addr 注意 1 不論是成員變數還是全域性變數,均不使用m或g為字首 2 變數名不應該帶有型別資訊,因為python是動態語言類,比如name list,stu info dict等都不可以 所有字母大寫,由下劃線連線各個單詞,比如pi 3.14 以 ...