2016-03-07 79 views
2

所以我有一個比較長的(在文本編輯器),等式,並想知道羯羊最好是保持它這樣或重新把它寫成了文字變量?是否有性能差異?龍方程與覆蓋變量

((((hoursPerWeek * (100 - percentageLoaded)) * (motorKw * 1.25) * 0.35) * 50) * (pencePerKwh/100))/100 
+1

爲什麼覆蓋它們?您可以改爲製作新的(有意義的)。分組計算以及幫助(如將'100 - percentageLoaded'和'/ 100'在一起(和表達它們的比率) – Caramiriel

+0

嗯,你可以擺脫大多數括號的... – elclanrs

+0

即使有一性能上的差異,有沒有辦法,這將是足夠顯著,使其價值使你的代碼更難以識別,不要陷入過早優化 –

回答

5

我不會「覆蓋」變量(如重複使用相同的命名變量在代碼的不同點來表示不同的值),但我一定會推薦爆發計算到適當命名爲他們的目的變量。

var percentageNotLoaded = 100 - percentageLoaded; 
var unusedPerWeek = hoursPerWeek * percentageNotLoaded; 
// etc... 

性能不會有可測量的差異。 JIT編譯器很可能會優化它們本身,以便像使用原始代碼一樣使用CPU寄存器和內存加載。即使沒有,我也非常懷疑這個計算是在你的JavaScript代碼中經常進行的,它會代表性能瓶頸。正如其他評論者指出的那樣,最好首先關注可讀性,並且只有在性能成爲可衡量的問題時才擔心。