如果我有隐藏按钮的方法,我可能会称之为 HideButton
如果我有一个显示按钮的方法,我可能会称之为 ShowButton
但是你们怎么称呼 ShowIfThisHideIfThat 样式方法?
可能的选择:
TestForButtonVisibility (这种声音会返回true / false但实际上并没有完成工作)
TestButton
ShowHideButton (我目前使用的风格)
已经这么多年了,仍然没有我喜欢这些类型的方法的风格。我主要使用C#和一些Java,Ruby和F#。在这方面你对方法名称使用了什么?
// example of the style of method
public void ShouldIShowOrHideButton()
{
Button.Visible = ((chkSomeSetting.Checked) && (DateTime.Now.Day < 8));
}
答案 0 :(得分:6)
updateButtonVisibilty()
怎么样?
答案 1 :(得分:4)
我的偏好是保持切换方法而不是隐藏/显示的单独方法。
ToggleButtonVisibility()
这允许您将测试代码放在那里,预期的结果/输出将是一个正确可见/不可见的按钮。
编辑:切换是个人偏好,源于使用二进制门,架构等的部分背景,其中切换可能在到达结束状态之前经过几个单独的门。单词本身可以更改为其他任何内容,例如Update,Determine,Finalize,甚至Steve。它真的归结为对你有意义的东西以及你的标准。
答案 2 :(得分:4)
可能是过度工程,但你可能遇到问题的原因是因为它做了两件事。因此,确保只有一个函数执行单个操作,如何确定是否应显示按钮的方法(获取参数,返回bool),然后直接设置按钮的值。
Button.Visibilty = DetermineIfButtonShouldBeShow(...);
答案 3 :(得分:2)
修改:现在编辑您的问题以包含示例
// example of the style of method
public void ShouldIShowOrHideButton()
{
Button.Visible = ((chkSomeSetting.Checked) && (DateTime.Now.Day < 8));
}
我的回答是 。我会做两件事:
Button.Visible
部分移到函数外部,因此该函数只计算逻辑并返回bool
。IsWeddingDay
,如果它检查每月会议,它将是IsMonthlyMeeting
。代码是
Button.Visible = IsMonthlyMeeting()
,如果需要,逻辑可以随后用于控制任何其他小部件。
旧答案: 您可能需要解释更多 ShowIfThisHideIfThat 的内容。
如果它取决于一个条件,例如:
if (condition)
ShowBotton()
else
HideButton()
然后我会用
Button.SetVisibility(condition)
根据Lazarenko上面的评论,或者语言是否有属性:
Button.Visible = condition
如果您有两个条件,例如 ShowIfThisHideIfThat 似乎意味着什么,相当于:
if (cond1)
ShowButton()
else if (cond2)
HideButton()
else
LeaveButtonAsItIs()
那么我认为逻辑很复杂,我不会使用一个函数。当然,代码相当于
Button.Visible = cond1 || (!cond2 && Button.Visible)
但你失去了理解力。
答案 4 :(得分:0)
如何使用SetButtonVisibility( )
答案 5 :(得分:0)
混淆似乎源于业务逻辑和UI逻辑的混合。测试不是应该显示按钮。代码将使用测试来决定是否应该显示按钮。这可能取决于是否应该提供某些功能。考虑:
if (IsFeatureEnabled()) {
ShowButton();
} else {
HideButton();
}
这是业务逻辑(IsFeatureEnabled()
)符合UI(ShowButton()
/ HideButton()
)的代码。