ada*_*shr 7 java naming-conventions
我正在为处理Job实体的服务设计API .我需要检索给定状态的作业.所以,我最终命名我的方法,如下:
List<Job> getJobsByStatus(JobStatus status);
Run Code Online (Sandbox Code Playgroud)
过了一会儿,我意识到我还需要能够检索不属于给定状态的作业.说,我想要检索除了已关闭的工作以外的所有工作.
我一直无法想到这种方法的合适且直观的名称.
我想到了下面但是没有找到它们.
List<Job> getJobsAllButStatus(JobStatus status);
List<Job> getJobsNotStatus(JobStatus status);
Run Code Online (Sandbox Code Playgroud)
我不能使用特定的状态,例如关闭和命名我的方法,getAllButClosedJobs因为我的方法将是一个能够处理任何状态的通用方法.
PS:我希望这个问题属于SO,虽然它不是技术编程.否则,请随时将其迁移到合适的站点.
bla*_*ank 11
List<Job> getJobsExcludingStatus(JobStatus status);
Run Code Online (Sandbox Code Playgroud)
甚至
List<Job> getJobsExcluding(JobStatus status);
Run Code Online (Sandbox Code Playgroud)
.......
为了更好地衡量,这就是为什么你不应该使用布尔参数.假设您有这样的界面:
List<Job> getJobs(JobStatus status, boolean exclude);
Run Code Online (Sandbox Code Playgroud)
然后设想代码如下:
List<Job> jobLIst = getJobs(status, false);
Run Code Online (Sandbox Code Playgroud)
怎么有人想知道它是如何工作的?他们必须深入研究方法,以发现错误是包含或排除或等等的转换.方法实现中的if语句隐藏了API中的两个方法 - 一个执行真实案例,另一个执行false案例.打字不是软件开发的瓶颈 - 这是思考.
List<Job> Jobs.allWith(JobStatus... status);
List<Job> Jobs.allBut(JobStatus... status);
Run Code Online (Sandbox Code Playgroud)
流畅的api和varargs的组合
| 归档时间: |
|
| 查看次数: |
293 次 |
| 最近记录: |