Coding style 非特定语言:使用“;“状态变量”;而不是返回状态参数?
这是我多年来一直在思考的一个问题,在所有其他情况下都要考虑以下示例: 假设您有一个按钮,根据其可见性,您希望将其更改为另一个状态,可见->不可见,不可见->可见 如果有人没有阅读他正在使用的类的文档,他可能会选择Coding style 非特定语言:使用“;“状态变量”;而不是返回状态参数?,coding-style,Coding Style,这是我多年来一直在思考的一个问题,在所有其他情况下都要考虑以下示例: 假设您有一个按钮,根据其可见性,您希望将其更改为另一个状态,可见->不可见,不可见->可见 如果有人没有阅读他正在使用的类的文档,他可能会选择 Button button; bool visible; public onTouch(){ if(visible){ button.setVisibility(invisible) visible=false;} else{ button.setVisi
Button button;
bool visible;
public onTouch(){
if(visible){
button.setVisibility(invisible)
visible=false;}
else{
button.setVisibility(visible)
visible=true;}
}
那就太好了。但是,在大多数语言中,UI类提供类似于按钮.getVisibility
的功能,这将产生以下代码:
Button button;
public onTouch(){
if(button.getVisibility==visible){
button.setVisibility(invisible)}
else{
button.setVisibility(visible)}
}
这需要更少的行,如果可见性是布尔值,那么onTouch()甚至可以是一行。另一方面,您进行方法调用时,该方法需要时间来返回值,这在很大程度上会导致一点延迟,从而使GUI有点无响应
你是怎么处理的?这是值得关注的吗?还是我花在写这个问题上的时间已经超过了用户“等待”按钮返回一个小参数所经历的所有CPU周期?我会选择第二个选项,只担心是否有证据表明这是一个性能瓶颈。成本可能微不足道,编译器可能会对其进行优化 在性能方面,维护一个单独的
可见的变量也有成本,但更重要的是,确保它与按钮保持同步的复杂性
也许按钮
应该有一个toggleVisibility()
方法