一、启示
我们在写代码的时候,经常遇到一些成对命名,这些成对的命名可以帮助我们很好地命名。
给一段简单的 Java 代码例子。java.util.Collections#copy
从 dest, src, 可以清楚地知道参数的含义,这样的命名可以称之为好的命名。
public static <T> void copy(List<? super T> dest, List<? extends T> src) {
int srcSize = src.size();
if (srcSize > dest.size())
throw new IndexOutOfBoundsException("Source does not fit in dest");
if (srcSize < COPY_THRESHOLD ||
(src instanceof RandomAccess && dest instanceof RandomAccess)) {
for (int i=0; i<srcSize; i++)
dest.set(i, src.get(i));
} else {
ListIterator<? super T> di=dest.listIterator();
ListIterator<? extends T> si=src.listIterator();
for (int i=0; i<srcSize; i++) {
di.next();
di.set(si.next());
}
}
}
二、成对
三、总结
将“成对”思想移植到命名中,一定会对好的命名有所启示。