繁体   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