fas*_*ava 1 language-agnostic variables coding-style
我有一个方法,例如getSome(String param, boolean active).当我调用这个方法时,我创建了一个变量,如下所示.
boolean active = true;
getFoo("some", active); // To get active foo
getFoo("some", !active); // To get inactive foo
Run Code Online (Sandbox Code Playgroud)
是否值得创建一个额外的变量或只是调用 getFoo("some", true);
如果你有一个布尔参数,你应该考虑使用该函数的两个变体.在参数中使用布尔值无助于用户读取代码.为了避免重复,实际的实现可能包含一个带有布尔参数的函数,但它可以从API的用户隐藏.
getSomeActive("foo")
getSomePassive("foo")
Run Code Online (Sandbox Code Playgroud)
另一种选择是两个使用有意义的标志,例如枚举而不是布尔值.
getSome("foo", FetchStyle.ACTIVE)
getSome("foo", FetchStyle.PASSIVE)
Run Code Online (Sandbox Code Playgroud)
并回答你的问题:为了清晰起见,必须声明一个额外的变量只是告诉我们接口中存在问题.如果您无法更改界面或将其包装,则变量是记录意图的一种方法.不幸的是,其他人可能只是重构代码并在以后删除变量.
| 归档时间: |
|
| 查看次数: |
168 次 |
| 最近记录: |