编写明确执行某些操作的函数是否更好(即 HideForm/ShowForm 等...)
还是编写'Toggle'类型的函数(即ToggleVisibility)更好?
我发现 Toggle 类型函数很尴尬,因为通过阅读代码很难跟踪状态。
切换类型功能在什么情况下有用?
编写明确执行某些操作的函数是否更好(即 HideForm/ShowForm 等...)
还是编写'Toggle'类型的函数(即ToggleVisibility)更好?
我发现 Toggle 类型函数很尴尬,因为通过阅读代码很难跟踪状态。
切换类型功能在什么情况下有用?
我有时在 JavaScript 中使用它来处理按钮(如复选框)和可见性,但大多数情况下我会避免使用它,因为它使控制您尝试处理的 think 的状态变得有点困难。
如果您不确定或无法确定初始状态(但通常可以),这可能会很糟糕。无论如何,大多数情况下都不需要运行一些“simetric”或简单的代码,所以我不太喜欢 .toogle
如果目标是可读性,则使用两个单独的函数。
我们可以有:ShowXYZ()
和HideXYZ()
,或ToggleXYZ(bool show)
。后者只会在代码中显示为ToggleXYZ(true)
or ToggleXYZ(false)
,因此有点不清楚每个人的作用。将它们作为两个单独的函数放置不会让人猜测该函数应该做什么。
我将扩展您提出的问题,因为还有另一种选择。在有两个或多个状态的情况下,为了可扩展性,您可以利用您正在使用的语言(我在 C# 中给出示例,所以 YMMV)。
因此,在 C# 的情况下,您可以创建一个enum
来提供不同的状态并为您的代码添加可读性。你可以有类似的东西:
SetXYZState(XYZState.Show)
或者
SetXYZState(XYZState.MakeWaffles)
这在使用相同的函数签名时非常清楚。
这可以应用于您只有两种状态(或者如果您以后可能会扩展它,甚至只有一种)的情况,但是设置它的开销可能比简单地编写两个函数更多的工作。