我有一个类似下一个的功能:
public void setVisible(bool visible){ ... }
在这种情况下创建两个公共函数setVisible和setInvisible以提高可读性是不是更好?
也许在内部可以创建私有函数以避免重复代码...
答案 0 :(得分:3)
我会说这是 BIG 禁忌,原因如下:
可读性:两个关键字setVisible()
和setInvisible()
之间只有很小的差异,并且在滚动100行代码时容易误读。
语义:拥有2个不同的 setXXX()和 setYYY()函数意味着存在2个不同的属性。虽然你会知道内部的两个映射都是相同的,但对于你的库/ API新手来说,这可能并不明显。
逻辑:除了设置功能之外,您还将实施相应的getVisible()
和getInvisible()
以获得良好的衡量标准。使用以下代码片段肯定会引起足够的混淆。
setVisible()
...
getInvisible()
(wait, what??)
setInVisible()
...
getVisible()
(whats the state now??)
答案 1 :(得分:2)
我在这种情况下有时会认识show
和hide
,尤其是对于Windows。
我喜欢它强调它不是纯粹的getter和setter ,而是更多的代码来实际显示或隐藏窗口。尽管这仍然只是“改变”状态,但可能不会产生大量的运行时成本。
仅仅为了阅读或改变旗帜,我不会推荐它,原因是TheCodeArtist已经指出。