java.util.Comparator 实例的命名约定
Naming convention for instances of java.util.Comparator
假设有一只class股票
class Stock
{
String id;
String name;
}
我想创建两个比较器,分别用 id
和 name
进行比较。
Java 中是否有比较器的命名约定或最佳实践?
下面的名字可以吗?
StockByIdComparator
和 StockByNameComparator
SortStockById
和 SortStockByName
我知道在某些领域避免重复名称。一个人会选择
List<Stock> stocks
超过 List<Stock> stockList
。类型也不应该编码在变量名中(也许是因为 IDE 的兴起?)。但还有一个重要的维度是清晰度。
那么命名比较器的好方法是什么?
就我个人而言,我会将它们命名为 StockByIdComparator
和 StockByNameComparator
。
它可能看起来有点多余,但很明显,因为每个 Java 开发人员都知道 Comparator
是什么。
我不喜欢 SortStockById
和 SortStockByName
,因为
它们看起来像方法名称:以动词开头,后跟补语。
我不知道这些是 Comparator
实现。
我不认为选择一个名称加上 Comparator
界面是一个问题或糟糕的命名策略。
相反,它是一个接口,它是 Java 基础 API.
的一部分
StockByIdComparator
和 StockByNameComparator
没问题,因为它们描述了这些 类 的目的。但我会分别将它们命名为 StockComparatorById
和 StockComparatorByName
,因此它们将具有一个通用前缀。所以以后,你将能够轻松找到所有 StockComparator*
。
基本上,没有任何命名比较器或其他接口实现的最佳实践。好的方法是选择描述性的而不是很长的名称,并将此名称 "convention" 与所有代码一起保留。
如果您将它们创建为 class 我会在其中包含比较器
class StockByIdComparator implements Comparator<Stock> {}
如果您想将其创建为变量或常量 - 您可以跳过它
static final Comparator<Stock> COMPARE_BY_ID = new Comparator<Stock>() {}
所以它看起来像这样
Collections.sort(stocks, COMPARE_BY_ID);
假设有一只class股票
class Stock
{
String id;
String name;
}
我想创建两个比较器,分别用 id
和 name
进行比较。
Java 中是否有比较器的命名约定或最佳实践?
下面的名字可以吗?
StockByIdComparator
和StockByNameComparator
SortStockById
和SortStockByName
我知道在某些领域避免重复名称。一个人会选择
List<Stock> stocks
超过 List<Stock> stockList
。类型也不应该编码在变量名中(也许是因为 IDE 的兴起?)。但还有一个重要的维度是清晰度。
那么命名比较器的好方法是什么?
就我个人而言,我会将它们命名为 StockByIdComparator
和 StockByNameComparator
。
它可能看起来有点多余,但很明显,因为每个 Java 开发人员都知道 Comparator
是什么。
我不喜欢 SortStockById
和 SortStockByName
,因为
它们看起来像方法名称:以动词开头,后跟补语。
我不知道这些是
Comparator
实现。
我不认为选择一个名称加上 Comparator
界面是一个问题或糟糕的命名策略。
相反,它是一个接口,它是 Java 基础 API.
StockByIdComparator
和 StockByNameComparator
没问题,因为它们描述了这些 类 的目的。但我会分别将它们命名为 StockComparatorById
和 StockComparatorByName
,因此它们将具有一个通用前缀。所以以后,你将能够轻松找到所有 StockComparator*
。
基本上,没有任何命名比较器或其他接口实现的最佳实践。好的方法是选择描述性的而不是很长的名称,并将此名称 "convention" 与所有代码一起保留。
如果您将它们创建为 class 我会在其中包含比较器
class StockByIdComparator implements Comparator<Stock> {}
如果您想将其创建为变量或常量 - 您可以跳过它
static final Comparator<Stock> COMPARE_BY_ID = new Comparator<Stock>() {}
所以它看起来像这样
Collections.sort(stocks, COMPARE_BY_ID);