2014-06-23 120 views
2

我沒有看到這方面的任何樣式指南。此外,通過瀏覽Dart SDK代碼和一些pub包,我沒有看到任何參數被聲明爲final。事實上,爲了解決這個問題,我沒有在任何地方看到這一點。 (這可能只是反映了我的經驗不足!)使用最終的飛鏢參數

做出此聲明顯然是可以的,並且Dart編輯器確實使用註釋將重新分配標記爲錯誤。

因此,用params來使用final是一件好事,它不是慣用的dart,它實際上是一件好事,還是沒有開發它的習慣?

回答

3

我想大多數人都不在乎,只是寫什麼都不是,因爲它更短。 添加一個「final」會讓你無意中分配給一個參數,但我想這不是經常發生的事情,不值得花費開銷。

我會討厭有一個風格指南,要求我在所有參數前寫上「final」。如果我不分配給它,我希望編譯器識別這個參數是有效的常量(如果有任何性能差異)。

+0

這大致就是我的猜測 - 編譯器應該能夠執行所需的跟蹤以證明變量是否被重新分配。但是爲什麼還要麻煩註釋呢?只是爲了靜態的雙重檢查。我會授予我的Dart代碼比相應的JavaScript更強。但通常它不是最終的/非最終的區別,而是類型檢查。 –