2009-01-07 66 views
1

我有一個不變的值,我只打算在我的代碼庫中使用一次。我將使用const聲明來聲明它。函數級常量 - 在函數頂部聲明?

如果這是一個函數級別的變量,我會在使用時聲明它,但用常量聲明它似乎會讓我的函數變得混亂。

回答

3

兩個原因使用常量,而不是硬編碼值是可讀性,所以它可以很容易找到,後來改, 對?因此,請將其聲明在以後最容易找到的地方。通常我會發現這是在函數,類或文件的開頭 - 再次,無論範圍是否合理。

2

我看一個常量作爲一種配置。 如果他們可以改變他們成爲應用程序屬性, ,如果他們不能把他們放在類別 的頂部,即使他們將被用於功能級常量。

這樣你就可以打開該文件,並看到他們都在同一個列表

1

我通常會將它們聲明爲儘可能靠近我的位置。

原因是,當我瀏覽其他人的代碼時,不得不跳過一個文件來理解正在發生的事情是非常不方便的。所以當我自己編寫代碼時,我試圖讓別人很容易。

對於函數頂部的小(ish)函數可以提高可讀性(因此可以理解其他函數),所以這個規則遠沒有刻骨銘心。

+0

獲得更好的IDE,您可以在其中懸停標識符並獲取有關它的信息,包括其整數常量值 – 2009-01-07 11:03:18

0

我把它們放在文件的開頭,把它們當作整個班級的配置。此外,編碼只是鼠標懸停,無論位置如何,您的閃亮IDE都會告訴您它的價值。

這不是你不斷變化的東西,如果它不引入你的常量,編碼,嘗試任何你想要的,然後當你重構,並使其不變。