什么是通用字符名称?_通用名称

什么是通用字符名称?

泛型类型参数名称通常包含一个大写字母字符。 如果您开始阅读有关泛型的官方ORACLE文档,则第一个示例是

/**
 * Generic version of the Box class.
 * @param <T> the type of the value being boxed
 */
public class Box<T> {
    // T stands for "Type"
    private T t;

    public void set(T t) { this.t = t; }
    public T get() { return t; }
}

通用类型的名称为T 一个字母,意义不大,通常与其他标识符命名样式相对。 它仅广泛用于泛型。 奇怪。 是什么原因呢?

到目前为止,我已经听到了以下论点:

  • 一个类或方法不需要很多类型变量名,因此您不会用完ABC的字母。
    • 基于这种推理,我们还应该使用一个字符方法名称吗?
  • 因为有JavaDoc,所以一个字符不会固有地解释类型不是问题。 您可以解释类型名称的实际含义。
    • 而且,我们还应该忘记我们所学到的有关干净代码和变量命名的所有内容。
  • 具有一个字符的类型名称使它们与变量,方法和类名称以及常量名称区分开。
    • 这是一个好点。
  • 但是Google Code Style允许您使用多种字符类型名称。
    • 是的

然后怎样呢?

如果您不喜欢泛型的单个字符命名,则可以使用_$前缀来命名它们。 这是您可以在stackoverflow上看到的建议。 至于我:这很奇怪。 使用$可以使我感到“海姆利希”,温暖的感觉使我想起了我在编写Perl时的青春。 我不再这样做了,这是有充分理由的。 时代改变了,技术改变了,我改变了。

$通常由编译器和某些代码生成器用来命名生成的字段和方法。 您在Java源代码级别上使用$可能会导致某些命名冲突,使编译器难以找到合适的名称,但是在这方面,当前版本的Java编译器相当容易出错。 他们只是一直尝试使用一些简单的算法来找到合适的名称,直到找到与任何Java源代码名称都不冲突的名称为止,因此这不会成为问题。

下划线 :嗯,实际上是我们过去使用的东西,而不是空间。 在旧的矩阵打印机上,下划线字符打印得很差,以至于您无法将其与空格区分开,因此使用多字变量名称是一个丑陋的窍门。 由于名称开头的下划线是一个完全反模式的恕我直言,实际上是使用相同的名称来命名两件事。 几乎就像没有下划线字符一样。

您也可以使用T_前缀,因为这是C ++和C#中的约定(我不太熟悉T_前缀,对此我不确定)。 但这和没有T一样丑陋。

我的喜好是使用有意义的名称,并在常量的情况下遵循相同的约定。 例如使用

public final class EventProducer<LISTENER extends IEventListener<EVENT>,EVENT> 
           implements IEventProducer<LISTENER, EVENT> {

代替

public final class EventProducer<L extends IEventListener<E>,E> 
            implements IEventProducer<L,E> {

即使那是我的个人,高级,专业,专家意见,但我不使用它。 为什么? 因为我在团队中的企业环境中工作。 使用比官方默认值更具可读性的内容所获得的收益并不像辩论和分歧所造成的损害那样高。 除此以外,新员工还必须适应当地的风格,而且也要花钱。 使用可用但不是最佳的全局样式比使用良好的局部样式更好。 忍受它。

我们可以全球化吗?

你可以试试。 那是我最多能说的。 如果最初的建议设定编码标准比1960年的样式一字母方法好,那会更好,但这已经是历史了。 损坏已经完成。 这绝非与将null引入OO的绝妙想法所造成的损害可比。

只要Java仍然存在,我们将只使用一个字符的泛型。 而且由于我快50岁了,所以这段时期比我的寿命更长。 请注意,COBOL仍然有效。 我们应该对Java有所期待。

翻译自: https://www.javacodegeeks.com/2015/05/generics-names.html

什么是通用字符名称?

这是网友海峰多年来收集整理的五笔和笔画编码表,涵盖了UNICODE国际通用字符集规定的全部汉字。 SunWb_MB.xls工作薄中包含7个表,内容分别是GB三重简码表、GBK集、CJK扩展A集、CJK扩展B集、CJK兼容与扩充集、特殊符号、海峰五笔词组。每个单字表都有Unicode值、五笔86编码、86容错码、五笔98编码、98容错码、笔顺编号、笔顺容错码等字段,详细描述了该字的编码属性。其中GBK表还描述了该字是否有一、二、三级简码,以及在海峰五笔码表中的优先级(序级——值为1时,表示置于词组之前的常用GB字;值为2时,表示置后的普通GB字;值若为3,则表示置后的非GB字)。笔顺编号即用按照书写的基本笔顺进行的编号——1、2、3、4、5分别表示横、竖、撇、捺、折五种基本笔画。 以上开源码表是《五笔爱好者论坛》上的几十位网友和深圳大学中文系的几十位同学集体合作的结晶,在未经授权的情况下,不得用于任何商业程序中。希望大家善用它,珍惜它、自由地传播它,让更多的朋友从我们的工作中受益!其中CJK-B部分的五笔98版编码和笔画校对尚未完成,我们希望有更多的朋友参与编码,保卫我们共同的文字,修复我们共同的家园! 另外,提供了三组不同操作系统下的五笔输入法源码表,附带相应版本的增强式输入法生成器,分别适用于Win9x、Win2000/XP/2003。有兴趣的朋友可自行修改编译,打造完全属于自己的特色输入法。如果懒得自己做,可以到网上下载现成的安装包。海峰五笔官方下载地址是:http://culchina.net/software/SunWb.exe 使用中发现什么问题,请随时与海峰联系,或登录《文化中国》论坛留言: http://culchina.net/bbs 祝各位一码平川、键步如飞,迎来快乐的新一年! 海峰,2005-8-24 转的别人的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值