【发布时间】:2009-07-27 19:17:50
【问题描述】:
我有一些非常低效的代码,当我使用“”操作以及各种变量和常量进行排列时,很多行出现了 4 次。似乎有一种方法可以编写一次函数并传入运算符以及必然变化的值和“ref”变量。我必须学习什么技术?有人建议使用“代表”,但我不知道如何以这种方式使用它们。这是在 C# 2.0 VS2005 中,但如果该技术是通用的并且也可以与 C++ 一起使用,那就太好了。
请求一些代码:以下以多种形式出现,带有不同的“”符号以及“+”和“-”符号的混合:
if (move[check].Ypos - move[check].height / 200.0D < LayoutManager.VISIO_HEIGHT - lcac_c.top)
{
move[check].Ypos = move[check].Ypos + adjust;
.
.
.
【问题讨论】:
-
你能发布一些代码吗?
-
我建议在http://refactormycode.com/ 上发布代码 sn-p。大多数提交有两个或三个备选方案。
-
有人可以格式化该代码吗?另外,你能给我们更多的代码吗?现在很难看出所有情况会发生什么变化——它会一直与
move[check]对抗吗?adjust来自哪里?您当前对方法签名的猜测可能会有所帮助。 -
感谢 Rob 清理了我的代码的可见性! “adjust”是一个类变量,我根据屏幕分辨率和我正在演示程序的计算机来更改它。 move 是一个类的实例数组 在 4 个代码变体中的 2 个中,我会使用 Xpos,而不是 YPos。 4个中有2个有。任何带有 > 的东西都会在调整变量之前使用 +,反之亦然。另外,一个使用 lcac_c.top,一个使用 lcac_c.right,等等。我希望所有这些都被传入。
-
谢谢,我去看看那个网站!
标签: c# c++ visual-studio delegates