数据库查询服务方法使用get作为前缀是否合理?附命名方案咨询
命名合理性判断
你对get前缀的认知完全符合Java生态下的通用开发约定:get通常仅用于Bean/POJO的属性读取方法,这类方法默认是无副作用、轻量、仅读取内存中已存在的属性值,不会触发数据库查询、远程调用等IO操作。
你当前的方法需要执行数据库查询逻辑,使用get前缀确实不合理,很容易误导其他维护人员误认为这是轻量的属性读取方法,进而在循环等场景下随意调用引发性能问题。
可选命名参考
可以根据团队的命名规范选择对应前缀,核心是要和普通getter方法做明确区分,同时清晰表达方法的输入输出逻辑:
- 若团队习惯用
query标识数据库查询操作:可以命名为querySalesVolumeByProductGroupByCountry(),如果要精简也可以用queryCountrySalesByProduct() - 若团队采用DDD仓储层命名规范:可以用
find前缀,命名为findSalesPerCountryForProduct() - 若团队偏向简洁风格,用
fetch标识跨IO读取的操作:可以命名为fetchProductSalesGroupByCountry()
无论选哪种方案,只要统一团队内部的前缀语义,其他开发者不用查看方法实现就能快速判断方法的作用和执行成本即可。
内容的提问来源于stack exchange,提问作者IsaacLevon
相关产品推荐
相关产品推荐

