API:C#方法命名约定:GetPageCount或GetTotalPages

时间:2013-02-06 14:06:42

标签: c# api naming-conventions

我有一个界面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听起来更传统吗?

5 个答案:

答案 0 :(得分:6)

对我来说GetPageCount听起来更好听,因为它更接近于常规使用的代码,如x.Countx.Count(),用于Linq扩展。

所以,它清楚地解释了自己。 Get - 如同,返回一些东西。 Page - 有问题的变量,Count - 与应用于相关变量时返回值的方法一样。

答案 1 :(得分:4)

一般来说:选择最有意义的名字。

在这种情况下,我会使用GetPageCount,因为它是自我描述的,并且还暗示类型int不像GetTotalPages,它也可以返回类似IEnumerable<Page>的内容。

GetPageCount也遵循以下顺序:

  • 它是一个吸气剂/二传手吗? - &GT;获得
  • 一般来说/获取什么? - &GT;页
  • 特别是得到/设定的是什么? - &GT;计数

此订单可让您更轻松地找到所需内容。

答案 2 :(得分:1)

代码应该是“自我记录”,因此使用描述其功能的任何名称都可以。只要下一个人在不经过1000页文档的情况下理解你的想法,你就完成了自己的工作。

答案 3 :(得分:0)

老实说,我认为没有多大区别。使用您或您公司喜欢的任何内容。

答案 4 :(得分:0)

为什么不简单地Count()

你扩展了一些实现IPager的东西,该方法可能不需要再进一步扩展页面。

如果是List<T>,则会Count而不是GetTCount()

真的是个人偏好。如果您将IPager interface实施为实际上不是Page的其他类型会怎样?