我可以在Scala中使用哪些技術來處理長型參數列表?Scala:如何使用長型參數列表
我正在研究一個小框架,用於運行具有不同模擬環境的各種類型的遊戲。我試圖保持框架的某些部分相對通用,所以我介紹了各種類型作爲類型參數,例如環境狀態,遊戲結果等。
這一切在功能上都很好,我也是獲得類型安全但通用的框架所需的好處。但是類型簽名已經發展到使得代碼難以閱讀並且重構它變得相當麻煩的程度。頂級模擬器的簽名有八個類型參數,許多主要類型有三到五個。個別的編譯器類型錯誤,因爲它們列出了類或函數參數的類型(當然這也是類型參數化的)似乎經常運行到一百行。
有時,但很少,我可以省略類型參數,例如,在構造函數上。但在大多數情況下,至少有一種類型不會被推斷,所以我最終不得不插入整個類型簽名。
顯然這並不理想,我正在尋找方法來解決這個問題。任何意見,將不勝感激!
的樣品幾行代碼總是理解;) – agilesteel 2012-02-12 07:19:47
這是一個非常普遍的問題。我不確定示例代碼會增加很多價值。它只是通常的事情:特徵,類,函數,每個都有類型參數,字段/成員也有類型參數。 – 2012-02-12 08:53:17