進出口工作了壓縮比,我注意到,我在這條線「冗餘演員」:冗餘鑄造
double ratio = (double)data.Length/(double)comp.Length;
顯然分割兩數組的長度沒有鑄造翻一番僅返回整數數字的組成部分。
但是爲什麼這個鑄造是多餘的?
僅在一個長度上投射一次長度就會消除警告。
我的理解是,如果我們有:
double ratio = (double)data.Length/comp.Length;
或
double ratio = data.Length/(double)comp.Length;
難道不認爲那麼可能會導致另一個開發者感到困惑的就是在這裏被計算出什麼樣的價值。
它與我有接觸,隱式強制轉換會導致代碼可讀性問題。特別是在更復雜的一行計算(這實際上是另一個可讀性問題)。
我也認爲鑄造值不同形式會產生不同的輸出,這取決於鑄造在方程中的位置。
那麼它是多餘的,即 - 添加或移除該投射對結果沒有影響。在這種情況下,冗餘與可讀性無關。此外,這是多餘的事實並不意味着它是必要的壞事。 – Evk
我在投票結束這個問題作爲題外話,因爲它是一個「我沒有手冊」的問題 –