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