簡體   English   中英

是否應該重構包含幻數的屏幕尺寸常數?

[英]Should screen dimension constants that hold magic numbers be refactored?

我在代碼中有幾個特定的​​地方,我使用特定的像素尺寸將某些東西塗抹到屏幕上。 顯然,它們被放置在命名良好的常量中,但是我擔心它仍然有點模糊。

示例:這是在小函數的本地范圍內,因此我希望很明顯,常量的名稱適用於方法名稱所指的內容。

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)。 得到它了。

要看。 這些常量是它們的具體原因嗎? (例如,“ 430”實際上是其他元素左側的200個像素嗎?)

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

如果它們只是任意位置,則將它們表示為坐標是有意義的。 但是機會是,它們實際上並不是任意的。

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

不知道ApplySurface()的作用,很難說它是否清楚如寫。 但是,相對名稱可能很明智。 作為維護程序員,除非您使用表達式將其弄清楚,否則我不知道值430和458是在沒有支持注釋的情況下派生的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM