3

编写明确执行某些操作的函数是否更好(即 HideForm/ShowForm 等...)

还是编写'Toggle'类型的函数(即ToggleVisibility)更好?

我发现 Toggle 类型函数很尴尬,因为通过阅读代码很难跟踪状态。

切换类型功能在什么情况下有用?

4

2 回答 2

1

我有时在 JavaScript 中使用它来处理按钮(如复选框)和可见性,但大多数情况下我会避免使用它,因为它使控制您尝试处理的 think 的状态变得有点困难。

如果您不确定或无法确定初始状态(但通常可以),这可能会很糟糕。无论如何,大多数情况下都不需要运行一些“simetric”或简单的代码,所以我不太喜欢 .toogle

于 2010-04-13T18:55:32.953 回答
1

如果目标是可读性,则使用两个单独的函数。

我们可以有:ShowXYZ()HideXYZ(),或ToggleXYZ(bool show)。后者只会在代码中显示为ToggleXYZ(true)or ToggleXYZ(false),因此有点不清楚每个人的作用。将它们作为两个单独的函数放置不会让人猜测该函数应该做什么。

我将扩展您提出的问题,因为还有另一种选择。在有两个或多个状态的情况下,为了可扩展性,您可以利用您正在使用的语言(我在 C# 中给出示例,所以 YMMV)。

因此,在 C# 的情况下,您可以创建一个enum来提供不同的状态并为您的代码添加可读性。你可以有类似的东西:

SetXYZState(XYZState.Show)

或者

SetXYZState(XYZState.MakeWaffles)

这在使用相同的函数签名时非常清楚。

这可以应用于您只有两种状态(或者如果您以后可能会扩展它,甚至只有一种)的情况,但是设置它的开销可能比简单地编写两个函数更多的工作。

于 2010-04-13T19:10:25.443 回答