以argonaut
例如,在我們的一些項目,當有需要處理JSON,人們會用淘金是什麼,以及硬編碼的領域,如:設計scala庫時,我們是否需要避免反思?
implicit def AddressCodecJson: CodecJson[Address] =
casecodec3(Address.apply, Address.unapply)("street", "number", "post_code")
如果有一個大案子類,這個列表將會很長:
implicit def AddressCodecJson: CodecJson[Address] =
casecodec12(Address.apply, Address.unapply)("street", "number", "post_code", "...", "...", "...", "...", "...", "...", "...", "...", "...")
我的問題是爲什麼我們需要硬編碼它們,而不是通過反射來獲得字段?
是否有任何技術問題,或者人們只是不喜歡在設計Scala庫時使用反射?
一般來說,反射速度很慢,不是線程安全的,最重要的是在編譯時沒有任何證明。 – ipoteka