• 中文编程是否可行之验证——(一)


    之前看到有这样的一个观点,一个好的程序员可以编写出自解释的代码,也就是说,如果变量、函数名等等名称都能够起的非常准确,并且结构上充分重构,没有过长的函数和过程,所有的功能都有很小的函数和过程组成,那么,即使不写注释,仅仅是代码也能够充分说明程序的功能是什么。

    然而,对于我们这些母语并非是英语的程序员来说,想要达到那一点非常之困难,如何确定变量、函数、类等等的名称,使其能够准确表达业务上的意义,还是有很大难度的。如果用英文的话,很可能就会在字典中查出一个词,然后就使用,但是对于专业的术语来说,很可能是不准确的。也有人说可以使用汉语拼音来起名字,而中文的一音多字和一字多音的问题会让人丈二和尚摸不着头脑。

    由此,我想到了很多人曾经讨论过的问题——中文编程,也就说,对于程序中的类、变量、过程、函数等等的名称使用中文,这样的程序对于本国的程序员来说,理解起来再容易不过了,也就可以省去很多的注释,甚至于能够写出不少自解释的代码。

    然而,当前的各种语言是否能够对中文有良好的支持呢?我们使用中文编写的代码是否会出现各种问题呢?实践是检验真理的唯一标准,不做不知道。

    针对对中文的支持问题,我想在以下三个环境中测试:

    1、Oracle,使用工具:pl/sql developer

    2、C#,使用工具VS 2005

    3、Java,使用工具myEclipse

    这样不仅测试到语言是否支持中文,而且可以看出我们经常使用的开发环境对中文的支持如何。毕竟是“工欲善其事必先利其器”。

    首先是针对Oracle的测试:

    1、建立表名、字段名均为中文的表:

    create table
    (
    编号
    NUMBER(4) not null,
    姓名
    VARCHAR2(50),
    出生日期 DATE
    );

    2、向其中插入几条数据

        编号 姓名 出生日期

    1 1 张三 2010-2-1

    2 2 李四 2019-3-4

    3、编写了一个函数:

    create or replace function 取得姓(姓名 in varchar2) return varchar2 is
    Result
    varchar2(50);
    begin

    select substr(姓名 ,1 ,1)
    into result
    from dual;

    return(Result);
    end 取得姓;

    4、执行带有函数的查询:

    select 人的别名.编号
    ,人的别名.姓名
    ,取得姓(人的别名.姓名)
    as
    from 人 人的别名

    查询结果为:

        编号 姓名 
    1 1 张三 
    2 2 李四 

        编号 姓名

    1 1 张三

    2 2 李四

    从上面看来,对于数据库开发,使用中文名没有太大的问题。

    其实之前在做对日项目的时候,就有这样的一个大型的项目,其中所有的数据库相关内容的名称都是用的是日文字,而系统的运行也没有什么问题。

    ……待续。

  • 相关阅读:
    C语言整型转为字符型
    node_modules 瘦身
    QNX Thread 生命周期解释
    乘风破浪,遇见最美Windows 11之现代Windows桌面应用开发 .NET NanoFramework让嵌入式系统的C#代码更容易编写
    乘风破浪,遇见最美Windows 11之现代Windows桌面应用开发 如何在PDF中支持3D模型
    乘风破浪,遇见最美Windows 11之现代Windows桌面应用开发 文档OCR解决方案: 泰比(ABBYY FineReader Engine) VS 微软云机器视觉(Azure Computer Vision)
    【校招VIP 前端】产品原型图功能点的理解
    【校招VIP 前端】后台接口说明和理解
    org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set
    好看的标签分享
  • 原文地址:https://www.cnblogs.com/houbowei/p/1642219.html
Copyright © 2020-2023  润新知