关于中文写类名及方法名的疑问?

众所周知,java是支持中文的方法名和类名的,如下面代码

public class 谁的年龄大{

    //------------这就叫代码的可读性---------

    public static void main(String[] args) {

        int 张三的年龄 = 20;

        int 李四的年龄 = 21;

        boolean 张三的年龄是不是比李四的年龄要大 = 判断甲的年龄大还是乙大(张三的年龄, 李四的年龄);

        if (张三的年龄是不是比李四的年龄要大 == 对) {

            在控制台输出这么一句话并换行("张三的年龄大");

        } else if (张三的年龄是不是比李四的年龄要大 == 大错特错) {

            在控制台输出这么一句话并换行("李四的年龄大");

        }

    }

    

    //--------------定义自然语言(把你的注释删掉,改成方法名)--------------

    static boolean 对 = true;

    static boolean 大错特错 = false;

    

    /**

     * 你确定我应该写注释?

     */

    public static boolean 判断甲的年龄大还是乙大(int 甲的年龄,int 乙的年龄){

        return 甲的年龄 > 乙的年龄;

    }

    

    public static void 在控制台输出这么一句话并换行(String 要在控制台输出的话){

        System.out.println(要在控制台输出的话);

    }

}

输出 -> 李四的年龄大


中文化的好处在于,代码的可读性非常之强

上面这段代码,我拿给一个不懂编程的高中生看,也能非常清晰的看懂代码及里面的逻辑


而在团队开发中,成员素质良莠不齐,我个人觉得如果统一使用这一的命名规范的话,开发效率至少能提升50%以上!


中文化的缺点

  1. 不够国际化

  2. 在某些系统中,会出现乱码情况

能否用中英文混杂命名的方式起方法名

所以我最后的思考是,能否用中英文混杂的命名方法命名和编写查看代码,在编译运行的时候,统一自动把方法名类名中的中文去掉只留下英文,这样的方式是否可行呢?


交互式爱情
浏览 425回答 10
10回答

慕尼黑5688855

System.out.println("这就是为什么很多招聘的时候要求英语过四级");虽然中华文字是非常棒的存在,但,中文的字库容量是编程界的毒瘤。。update - 2016/1/4 14:18:10若如楼主所言,那么为啥全英文写的java源码里有比源码还要长的注释呢,托肘深思ing....Eg./**&nbsp; &nbsp; &nbsp;* Prints a string followed by a newline. The string is converted to an array of bytes using&nbsp; &nbsp; &nbsp;* the encoding chosen during the construction of this stream. The bytes are&nbsp; &nbsp; &nbsp;* then written to the target stream with {@code write(int)}.&nbsp; &nbsp; &nbsp;*&nbsp; &nbsp; &nbsp;* <p>If an I/O error occurs, this stream's error state is set to {@code true}.&nbsp; &nbsp; &nbsp;*&nbsp; &nbsp; &nbsp;* @param str&nbsp; &nbsp; &nbsp;*&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; the string to print to the target stream.&nbsp; &nbsp; &nbsp;* @see #write(int)&nbsp; &nbsp; &nbsp;*/&nbsp; &nbsp; public synchronized void println(String str) {&nbsp; &nbsp; &nbsp; &nbsp; print(str);&nbsp; &nbsp; &nbsp; &nbsp; newline();&nbsp; &nbsp; }注释的重点在于把你代码段的内容,进出口表述详尽,清晰即可。至于用何种语言来实现,这不是重点。

幕布斯6054654

个人觉得看不懂方法名对效率的影响实在是很小,首先代码是有注释滴,虽然某些有洁癖的人会说最好的代码是自注释滴,但对领域性的业务逻辑还是有注释比较好,注释可以是可以写中文滴。其次,逻辑性差的代码就算写成中文,大学生也未必看得懂,所以算法、思维以及对常用代码逻辑的熟悉程度才对效率影响较大。本人看segmentfault还经常百思不得其解呢。所以成员素质良莠不齐是兄弟你团队效率不高的根因,多做培训,多写练习,多结对编程才是正道哇。

皈依舞

你不觉得一个方法名,和变量名实在太长吗?这名字我读到一半就不太想读了,还有就是需要用到输入法,输入真心不如abc来的方便。。。

冉冉说

我先说一点:中文没有大小写,没法享受驼峰式命名法的好处。中文是由字组成的,需要阅读者自己根据语意去区分哪些字组成了一个词,很耗时间,而且说不定存在歧义导致断错。而英文,可以通过将一个单词的首字母大写来区分。另外,我觉得,一个人只要学完初中英语,就基本可以应付编程中需要的英文了。所以,搞中文编程是为小学没毕业的人服务的吗?

倚天杖

很久以前,据说有人想用阿拉伯文编码,最后发现还不如用英语……语言文字只是工具,不合适就是不合适。

宝慕林4294392

第一:会增加代码的大小,这是必然第二:判断甲的年龄大还是乙大(张三的年龄, 李四的年龄),这句话我半天才反应过来这是个方法调用第三:英文阅读能力不应该是编程的绊脚石,如果常年接触这种代码,你确定你还能看得懂类库?还能保证技术与国际接轨?其他的也就是个人喜好了,说实话真这样写也无可厚非

慕虎7371278

也算是长见识了,真是奇葩无处不有,题主哪家公司的敢否报上大名?我们躲!

Smart猫小萌

只是翻译了下名字,这些名字就算写英文也应该可以看懂的。

天涯尽头无女友

就我个人而言 最起码一点打英文代码比中文快&nbsp;一点点代码看不出什么 如果一个项目中全是中文 可想而知浪费多少时间
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java