API:C#方法命名约定:GetPageCount或GetTotalPages
本文关键字:GetTotalPages GetPageCount 方法 API 命名约定 | 更新日期: 2023-09-27 17:58:04
我有一个接口IPager
public interface IPager
{
int RecordCount { get; }
int PageNumber { get; }
int PageSize { get; }
}
public static class PagerExtensions
{
public static int GetPageCount(this IPager pager)
{
var totalPages = pager.RecordCount / pager.PageSize;
if (pager.RecordCount % pager.PageSize > 0)
totalPages += 1;
return totalPages;
}
}
GetTotalPages
听起来比GetPageCount
更传统吗?
对我来说,GetPageCount听起来更好,因为它更接近于Linq扩展的x.Count
或x.Count()
等代码的常用用法。
因此,它清楚地解释了自己。Get
-如中所示,返回一些内容。Page
-有问题的变量,Count
-与方法中一样,当将返回值应用于有问题的变数时,会返回谁的返回值。
一般来说:选择最有意义的名称。
在这种情况下,我将使用GetPageCount
,因为它是自我描述的,并且还暗示了类型int
,而GetTotalPages
也可以返回类似IEnumerable<Page>
的内容。
GetPageCount
也遵循以下顺序:
- 它是一个getter/setter吗?->获取
- 一般来说,获取/设置是什么?->页码
- 获取/设置的具体内容是什么?->计数
此订单使您更容易找到要查找的内容。
为什么不简单地使用Count()
?
您已经扩展了实现IPager
的东西,该方法可能不需要进一步扩展页面。
在List<T>
的情况下,您得到的是Count
,而不是GetTCount()
。
这确实是个人喜好。如果您将IPager
interface
实现为不同的类型,而实际上不是Page
,该怎么办?
代码应该是"自文档化的",所以使用任何描述其功能的名称都是可以的。只要下一个来的人在没有阅读1000页文档的情况下理解你的想法,你就完成了你的工作。
老实说,我认为没有太大区别。使用你或你的公司喜欢的任何东西。