2011-08-22 77 views
6

我對scala有一些經驗。我想介紹它與10個成員的新項目。但儘管Scala的表現力很強,但我很不確定代碼能夠維護和轉移到新的團隊成員有多簡單。目前我只研究了一個scala的一個大項目http://code.google.com/p/factorie/和一些scala DSL(apache駱駝)。所以我的問題是,與java,python和groovy相比,中級開發團隊可維護/支持多少scala?大型Scala代碼庫可維護嗎?

+1

也許會受到Programmers.SE的一些關注,但不在這裏。 – 2011-08-22 07:32:43

回答

11

一般:基本代碼的可維護性取決於(僅舉幾例)

  1. 開發商的意願來設計可維護性
  2. 的開發技能來實現他們的意圖
  3. 文件的水平和準確性(關於文件如何描述實際系統的精確度,而不是文件的詳細程度)
  4. 開發商負責維護的技能

您可以使用任何可用的語言創建一個混亂。可以說,您可以使用任何旨在用於生產的編程語言來創建任何規模的乾淨且可維護的項目。

這就是說 - 斯卡拉應該是沒有什麼比使用Java,Python或Groovy少維護。然而,第一個項目的結果可能不太可維護。

6

簡短回答:是的

長答案:與Java相比,非常如此。

性狀,case類,模式匹配,-kinded較高的類型,封閉等全部湊到除去樣板,使您更容易執行DRY原則。您的代碼庫的大小將是大約1/3,並且更容易隔離關鍵抽象而不是重複邏輯。

更好的測試框架也使得保持有效的測試集合變得容易得多。

當然......所有這些都是在Aleksi指出參與個人開發者的意志/技巧之後。如果團隊沒有積極主動維護,那麼世界上最可維護的語言不會幫助你!