2009-12-13 17 views
0

我在我的代碼中有幾個特定的​​地方,我使用特定的像素尺寸將特定的東西閃爍到屏幕上。顯然,這些都放在命名常量中,但我擔心它仍然含糊不清。是否應該重構屏幕維度常量以保存幻數?

示例:這是一個小函數的局部範圍,所以我希望這個常量的名字適用於方法名稱引用的內容。

const int X_COORD = 430.0; 
const int Y_COORD = 458.0; 

ApplySurface(X_COORD, Y_COORD, ....); 
... 

屏幕上的位置是專門爲該位置計算的。我幾乎感覺好像我應該讓常量說SCREEN_BOTTOM_RIGHT,所以我可以像const int X_COORD = SCREEN_BOTTOM_RIGHT - SOME_OTHER_NAME那樣做。

上面的代碼是否太模棱兩可?或者作爲一個開發者,你會看到並且說,屏幕上的那個(430,458)。得到它了。

回答

2

取決於。這些常量是什麼原因,是否有特定的原因? (例如,「430」實際上是一些其他元素左邊的200個像素嗎?)

如果是這樣,那麼它可能更有意義,用其他元素的常量表示或任何原因導致該數字)。

如果它們都是任意位置,那麼將它們表示爲座標是有意義的。但有可能的是,它們並不是任意的。

+0

是的,我有一個名稱空間保存屏幕的尺寸,我考慮做一些像Screen :: RIGHT_SIDE - number。我想這是要走的路。 – Anonymous 2009-12-13 05:03:20

0

你假設我有什麼尺寸的屏幕?人們在他們的機器上有不同的屏幕分辨率,並且某些人在某些時候對任何固定的像素大小或位置都會出錯。我的正常顯示是1900x1220;我的另一個顯示是1440x1050;其他人使用不同尺寸的屏幕。如果您顯示的是用戶無法調整大小的固定大小窗口,則使用固定大小可能會更安全。

不知道ApplySurface()做了什麼,很難說它是否清晰如寫。但是,相對的名字可能是明智的。作爲一名維護程序員,除非您使用表達式來清除,否則我不知道值430和458是從哪裏得到的,沒有支持註釋。

相關問題