精华内容
下载资源
问答
  • 4种代码命名规范

    2021-01-07 07:17:13
    代码的命名对于代码的可读性非常重要,目前有4种命名规范: 骆驼(Camel)、帕斯卡(pascal)、匈牙利(Hungarian)、下划线(_)。本人在编程的时候经常混淆这4种命名规范,所以现如今做一个总结,希望可以帮助和我...
  • 代码命名规范

    热门讨论 2020-01-04 14:52:43
    作为一名未来的程序员,不仅仅是有你敲代码的能力,还要让别人看懂你的代码,方便以后的交流讨论,从代码中也可以看出你的态度是否严谨,所以代码命名是否规范很重要。 1、注释 (1)不要为了写注释而写注释,...

        作为一名未来的程序员,不仅仅是有你敲代码的能力,还要让别人看懂你的代码,方便以后的交流讨论,从代码中也可以看出你的态度是否严谨,所以代码的命名是否规范很重要。

    1、注释

      (1)不要为了写注释而写注释,有些显而易见的可以省略注释

      (2)要在模块、类、属性、方法前一行添加注释

      (3)在遇到语句块时必须加注释来说明该语句块的作用和实现手段

      (4)每次修改后要添加注释

    2、窗体的命名

       (1)名字应该能够标识事物的特性,并且与业务挂钩

       (2) 一律使用英文单词,而不能为拼音

       (3)名字可以有两个或三个单词组成,但不应多于4个,控制在3至30个字母以内

       (4)在名字中,多个单词用大写第一个字母(其他字母小写)来分隔

    如:VB学生和机房收费系统中用到的窗体的命名

        

         有两中命名方法:

      Pascal命名法:所有单词的首字母都大写,其他字母小写

      Camel命名法:除首字母外,其他单词的首字母大写,其他字母小写

    3、控件的命名

         

       

    如:VB中用到的控件的命名

           

           

    4、编码规则

      (1)大括号要一一对应;小括号不要和关键词、函数名紧贴在一起,要用空格隔开

      (2)用Tab键为每层缩进(4个空格)

           

      (3)每行只写一个语句

      (4)重复实现某一功能,应考虑模块化

         在和师父们的探讨中,收获到了一些建议及经验。变量名、方法名不要太长,也不要太短;注释要清晰明了,不仅要让自己明白,更重要的是要让他人明白你的代码。所以我们应从现在做起,养成良好的习惯,以便提高我们的工作效率,事半功倍。

    展开全文
  • 知名游戏公司Unity命名规范,超全,包括注释和各种变量方法的命名规范
  • 代码命名规则

    2013-06-15 13:40:54
    关于程序代码的一些命名规则,可以让别人更好地看懂你的代码,了解你的意图……
  • 编写代码命名规范

    2017-08-02 10:56:51
    详细讲解了程序开发过程中说需要遵守的命名规则
  • 常见代码命名规则

    万次阅读 2018-08-20 11:50:00
    几种常见的程序命名规则 正确并形象地给函数、变量命名,不仅可以增加程序的可读性,也是程序员编程风格的一种反映。较好的命名习惯,可以有效的提高程序的可维护性。以下介绍几种常用的变量命名规则。 一、匈牙利...

    几种常见的程序命名规则
    正确并形象地给函数、变量命名,不仅可以增加程序的可读性,也是程序员编程风格的一种反映。较好的命名习惯,可以有效的提高程序的可维护性。以下介绍几种常用的变量命名规则。
    一、匈牙利命名法:广泛应用于Microsoft Windows这类环境中。
    这种命名技术是由一位能干的 Microsoft 程序员查尔斯·西蒙尼(Charles Simonyi) 提出的。匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。这些符号可以多个同时使用,顺序是先m_(成 员变 量),再指针,再简单数据类型,再其他。例如:m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量。
    匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。
    例如:bEnable, nLength, hWnd。
    匈牙利命名法中常用的小写字母的前缀:

    属性部分:
    g_ 全局变量
    c_  常量
    m_  c++类成员变量
    s_  静态变量
    类型部分:
    数组 a
    指针 p
    函数 fn
    无效 v
    句柄 h
    长整型 l
    布尔 b
    浮点型(有时也指文件) f
    双字  dw
    字符串  sz
    短整型  n
    双精度浮点 d
    计数 c(通常用cnt)
    字符 ch(通常用c)
    整型 i(通常用n)
    字节 by
    字 w
    实型 r
    无符号 u
    描述部分:
    最大 Max
    最小 Min
    初始化 Init
    临时变量 T(或Temp)
    源对象 Src
    目的对象 Dest

    二、驼峰命名法:近年来越来越流行。
    驼峰命名法,正如它的名称所表示的那样,指的是混合使用大小写字母来构成标识符的名字。其中第一个单词首字母小写,余下的单词首字母大写。
    例如:
    printEmployeePaychecks();
    函数名中每一个逻辑断点都有一个大写字母来标记。

    三、帕斯卡(Pascal)命名法:与驼峰命名法类似。
    只不过驼峰命名法是第一个单词首字母小写,而帕斯卡命名法则是第一个单词首字母大写。因此这种命名法也有人称之为“大驼峰命名法”。
    例如:
    DisplayInfo();
    UserName
    都是采用了帕斯卡命名法。
    在C#中,以帕斯卡命名法和骆驼命名法居多。
    事实上,很多程序设计者在实际命名时会将驼峰命名法和帕斯卡结合使用,例如变量名采用驼峰命名法,而函数采用帕斯卡命名法。

    四、下划线命名法。
    下划线法是随着C语言的出现流行起来的,在UNIX/LIUNX这样的环境,以及GNU代码中使用非常普遍。
    4.1 函数的命名
    函数名使用下划线分割小写字母的方式命名:
    设备名_操作名();

    操作名一般采用:谓语(此时设备名作为宾语或者标明操作所属的模块)或者谓语 宾语/表语(此时设备名作为主语或者标明操作所属的模块) 等形式,如:
    tic_init();
    adc_is_busy();
    uart_tx_char();

    中断函数的命名直接使用 设备名_isr() 的形式命名,如:
    timer2_isr();

    4.2 变量的命名
    变量的命名也采用下划线分割小写字母的方式命名。命名应当准确,不引起歧义,且长度适中。如:
    int length;
    uint32 test_offset;

    单字符的名字也是常用的,如i, j, k等,它们通常可用作函数内的局部变量。tmp常用做临时变量名。
    局部静态变量,应加s_词冠(表示static),如:
    static int s_lastw;

    全局变量(尤其是供外部访问的全局变量),应加g_词冠(表示global),如:
    void (* g_capture_hook)(void);

    4.3 常量及宏的命名
    采用下划线分割大写字母的方式命名,一般应以设备名作为前缀,
    防止模块间命名的重复。如:

    #define TIMER0_MODE_RELOAD 2
    #define TIMER2_COUNT_RETRIEVE(val) ((uint16)(65536 - (val)))

    当然,看作接口的宏可以按照函数的命名方法命名,例如:

    #define timer2_clear() (TF2 = 0)
    #define timer0_is_expired() (TF0)

    据考察,没有一种命名规则可以让所有的程序员赞同,程序设计教科书一般都不指定命名规则。命名规则对软件产品而言并不是“成败悠关”的事,我们不要化太多精力试图发明世界上最好的命名规则,而应当制定一种令大多数项目成员满意的命名规则,并在项目中贯彻实施。

    展开全文
  • java代码命名规范

    千次阅读 2018-07-11 16:03:22
    【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。 反例:_name / __name / Object/name/nameObject/name/nameObject / name_ / name / Object$ 【强制】代码中的命名严禁使用...

    【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。

    反例:_name / __name / Object/name/name O b j e c t / n a m e / n a m e / Object$

    【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式 也要避免采用。
    正例:alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同英文。 反例:DaZhePromotion [打折] / getPingfenByName() [评分] / int 某变量 = 3

    【强制】类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外:DO / BO / DTO / VO / AO
    正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion 反例:macroPolo / UserDo / XMLService / TCPUDPDeal / TAPromotion

    【强制】方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从 驼峰形式。

    正例: localValue / getHttpMessage() / inputUserId

    【强制】常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。

     正例: MAX_STOCK_COUNT     反例:MAX_COUNT
    

    6.【强制】抽象类命名使用 Abstract 或 Base 开头
    7.【强制】异常类命名使用 Exception 结尾;
    8.【强制】测试类 命名以它要测试的类的名称开始,以 Test 结尾。
    9.【强制】中括号是数组类型的一部分,数组定义如下:String[] args;
    反例:使用String args[]的方式来定义。

    1. 【强制】POJO 类中布尔类型的变量,都不要加 is,否则部分框架解析会引起序列化错误。
      反例:定义为基本数据类型Boolean isDeleted;的属性,它的方法也是isDeleted(),RPC 框架在反向解析的时候,“以为”对应的属性名称是 deleted,导致属性获取不到,进而抛出异常。

    2. 【强制】包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用 单数形式,但是类名如果有复数含义,类名可以使用复数形式。
      正例: 应用工具类包名为com.doctorwok.open.util、类名为MessageUtils(此规则参考 spring 的框架结构)

    3. 【强制】杜绝完全不规范的缩写,避免望文不知义。
      反例: AbstractClass“缩写”命名成 AbsClass;condition“缩写”命名成 condi,此类随 意缩写严重降低了代码的可阅读性。

    4. 【推荐】为了达到代码自解释的目标,任何自定义编程元素在命名时,使用尽量完整的单词 组合来表达其意。
      正例:从远程仓库拉取代码的类命名为 PullCodeFromRemoteRepository。 反例:变量 int a; 的随意命名方式。

    5. 【推荐】如果模块、接口、类、方法使用了设计模式,在命名时体现出具体模式。 说明:将设计模式体现在名字中,有利于阅读者快速理解架构设计理念。
      正例:public class OrderFactory;public class LoginProxy; public class ResourceObserver;

      15.【推荐】接口类中的方法和属性不要加任何修饰符号(public 也不要加),保持代码的简洁性,并加上有效的 Javadoc 注释。尽量不要在接口里定义变量,如果一定要定义变量,肯定是 与接口方法相关,并且是整个应用的基础常量。
      正例:接口方法签名:void f();接口基础常量表示:String COMPANY = “alibaba”; 反例:接口方法定义:public abstract void f();
      说明:JDK8 中接口允许有默认实现,那么这个 default 方法,是对所有实现类都有价值的默 认实现。

    6. 接口和实现类的命名有两套规则:
      1)【强制】对于 Service 和 DAO 类,基于 SOA 的理念,暴露出来的服务一定是接口,内部的实现类用 Impl 的后缀与接口区别
      正例:CacheServiceImpl 实现 CacheService 接口。

       2)【推荐】 如果是形容能力的接口名称,取对应的形容词做接口名(通常是–able 的形式)。 
               正例:AbstractTranslator 实现 Translatable。
      
      1. 【参考】枚举类名建议带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开。

        说明:枚举其实就是特殊的常量类,且构造方法被默认强制是私有。 正例:枚举名字为ProcessStatusEnum的成员名称:SUCCESS / UNKOWN_REASON。

      2. 【参考】各层命名规约:
        A) Service/DAO层方法命名规约

           1) 获取单个对象的方法用get做前缀。 
           2) 获取多个对象的方法用list做前缀。 
           3) 获取统计值的方法用count做前缀。 
           4) 插入的方法用save/insert做前缀。
           5) 删除的方法用remove/delete做前缀。 
           6) 修改的方法用update做前缀。
        

        B) 领域模型命名规约
        1) 数据对象:xxxDO,xxx即为数据表名。
        2) 数据传输对象:xxxDTO,xxx为业务领域相关的名称。
        3) 展示对象:xxxVO,xxx一般为网页名称。
        4) POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。

    展开全文
  • 代码中到处都需要命名。作为程序员,我们得给类命名,给变量命名,给函数命名,给参数命名,给命名空间命名,等等等等。下面有20条小贴士能帮助你提高你的命名能力。 1.使用能够表达意图的名字 名字得能...

    代码中到处都需要命名。作为程序员,我们得给类命名,给变量命名,给函数命名,给参数命名,给命名空间命名,等等等等。下面有20条小贴士能帮助你提高你的命名能力。

    1.使用能够表达意图的名字

    名字得能告诉我们它要做什么,为什么存在,以及是如何工作的。选择能够表达意图的名字,将更有利于我们理解代码。

    int d; // elapsed time in daysint elapsedTimeInDays;int daysSinceCreation;int daysSinceModification;int fileAgeInDays;

    在上面的片段中,我们只能从注释中知道变量d指的是什么。于是阅读代码的人为了知道它的含义就不得不去寻找它的实例以获取线索。所以,要是我们能够好好命名这个变量,阅读代码的人就能够瞬间知道这变量的含义。

    2.不要怕在选择名字上花时间

    你应该多试几种不同的名字,直至足以描述其含义,千万不要害怕在这上面花时间。以后阅读你代码的人(包括你自己)将会因此而受益。此外,一个描述性的名称甚至还能有助于你在心中理清模块的设计。良好的命名的确需要花费时间,但是从长远来看,利大于弊。

    3.重构名字

    如果你在后面的开发过程中想到了一个更好的名字,那就不要犹豫,马上去改吧。现在的IDE使得重构名字变得异常容易。

    4.避免在名字中出现干扰词

    比如ManagerProcessorDataInfo以及“我不知道这叫什么”的同义词,都是干扰词。如果你需要使用上面这些干扰词的话,那么说明你的命名可能太累赘了。

    5.小心难以命名的类/功能

    一个很难命名的类或函数很有可能是一个代码异味。这说明:

    • 代码做得太多。

    • 代码做得还不够。

    • 你对此问题理解得还不够透彻,需要先获取更多的信息。

    6.类名

    类应该有个名词或名词词组的名字,如CustomerWikiPageAccountAddressParser。继承性父类应该给个又短又有冲击力的名字。子类的名字应该长点,通过形容词来描述其不同于它的父类之处,如SavingsAccount衍生于Account。

    7.变量名

    变量名也应该是名词。它们大多是由其指向的类衍生出去的。布尔变量应写成谓词的形式,如isEmptyisTerminated,这样放到if语句才便于理解。

    8.方法名

    方法名应该是一个动词或动词词组,如postPayment()deletePage()save()。访问器和调整器应该分别前缀get和set。返回布尔值的方法应该前缀‘is’,如isPostable(),这样在if语句中才便于理解。

    9.范围大小与变量名的长度

    变量名的长度应和它的范围大小相匹配。如果变量的范围很短,那么变量名的长度也应该很短。反之,变量名则应该长一点,更有描述性。

    10.范围大小与方法/类名的长度

    对于方法和类名的长度则应该与其范围成反比。对于公共方法,短一点的名字会比较好,这是因为它们会被调用多次。私有方法只在类的范围内被调用,长一点的名字反而可以作为文档使用。此条规则的例外是派生类的名字。类越派生,基类前所加的形容词就越多,名字也就越长。

    11.一个概念一个词

    为某个抽象概念选定一个词,然后就不要变了。例如作为不同类中的等效方法,get()fetch()retrieve()会让人混淆起来。保持一致的词汇是程序员驾驭代码的重要工具。

    12.不要将同一个词用于两个不同的概念

    如果你遵循第11点——一个概念一个词的原则,那么就可以避免许多有着相同方法名的类。只要参数列表和各种方法的返回值在语义上是等价的就没问题。只有当你将同一个词用于两个不同的概念时才会出现问题。

    例如,我们可以在多个类中使用add()方法,通过添加或连接两个现有的值来创建一个新的值。如果我们之后又需要在类中引入一个add方法用于添加参数到集合中,这就会因为语义不同而导致问题。这种新方法最好是改叫为insert()。

    13.使用解决方案领域的名字

    我们编写的代码今后可能会有其他程序员来阅读,所以我们使用一些技术术语进行代码命名会带来很大的好处。比如适当地使用算法名字、设计模式名字以及数学术语,这些命名方式很可能会让其他程序员更容易理解程序,引起共鸣。

    14.使用问题领域的名字

    如果实在找不到易于理解的技术术语来命名,那么也可以从问题领域来寻找合适的代码命名。当未来阅读你代码的程序员不确定代码意义的时候,这将为他们提供一些问题的线索。

    15.添加有意义的语境

    大多数名字其本身是没有意义的,并且需要放到语境(类/函数/命名空间)中,才能让阅读代码的人理解它们指代的是什么。在某些情况下,可能需要前缀名称以补充语境。例如,假设我们有一些用来表示地址的变量:firstNamelastNamestreethouseNumbercitystatezip。如果只看state这个变量,我们是很难推断出它指的是什么意思,一个比较好的解决办法就是将这些变量封装到Address类中。

    16.不要添加没来由的语境

    只要意思明确,短一点的名字通常比长的好,所以不要多此一举地添加语境。名字前不应该被加缀一些可以从类/包/命名空间中推断的不必要的信息。

    17.避免编码

    鉴于现在的IDE的强大,我们已经不需要编码类型和范围信息到变量名和类名中。这包括不必添加I至接口,因为使用代码的用户不需要知道他们的类正在向接口传递。所以如果你一定要使用编码,那么最好是对实现进行编码而不是接口。

    18.避免错误的信息

    不要给一些错误的信息,因为这样会误导阅读代码的人。如果你将一个实际支持数组的变量命名为accountList,那就很容易让人得出错误的结论。

    19.使用读不出来的名字

    编程是一个社会化的活动,使用那些读不出来的名字只会阻碍我们的讨论。

    20.使用易搜索的名字

    使用短而通用的名字会妨碍我们在代码库中搜索事物。这对我们操纵代码和重构很有影响。

    展开全文
  • Unity 代码命名规范

    千次阅读 2019-03-26 10:21:49
    1.类(class),结构(struct),枚举(enum),标签(Attribute)名: 静态, 私有, 保护, 公有 单词首字母大写,比如: Main, CharacterController 2.接口(interface)名: 静态, 私有, 保护, 公有 首字符I开头,单词首字母大写...
  • 前文简单提到clang-tidy提供命名规范检查,由于篇幅,没有详细讲解。 正好最近有分了个旧项目代码规范整改的杂活,就补充描述下在vscode中如何使用clang-tidy进行静态检查。 clang 三级目录 ...
  • Java代码命名规范.pdf

    2021-10-08 15:39:31
    Java代码命名规范.pdf
  • Java代码命名规范

    2012-03-30 00:10:05
    Java初学者没有规范命名习惯,会给以后的开发带来麻烦,最好就是在初学的时候注意变量、函数等的命名
  • 注册 register
  • 骆驼式命名法(Camel-Case)是电脑程式编写时的一套命名规则(惯例)。 骆驼式命名法就是当变量名或函式名是由一个或多个单字连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;第二个单词的首字母大写...
  • C语言代码规范(四)命名规则

    千次阅读 2018-08-20 14:29:00
    待过的公司都有外国客户,给他们的DemoCode比较规范,不需要技术支持他们自己调通了(相比国内某些大公司的码农在有中文注释和中文数据手册的情况下还需要FAE手把手教写代码,真让人唏嘘)。如果DemoCode里全是拼音...
  • 软件编程命名规则

    2018-06-10 12:07:55
    软件编程的命名规范,可以参考学习,能够有效提高软件开发规范
  • AS3 设计模式 程序员编程命名规范详细
  • 前端代码命名规范整理 1. 项目命名 多个单词组成时,采用中划线连接方式,如: error-report.html。 有复数结构时,采用复数命名法,如: scripts, styles, images, data-models。 只能由小写英文字母、数字、或间隔...
  • 编码规范第二、可以提高代码质量,谁编程都不是一次性完成的,是需要不断的测试与调试,以各种状态来修改自己的代码,而将代码规范化,就能对程序本身有更加清晰的结构思路,从而减少调试而成为快捷高效的代码。...
  • 前端小白成长记!!! 在工作中看到了这个链接,感觉不错,无规矩不成方圆!! 前端代码可读性:值得收藏!! https://segmentfault.com/a/1190000016445088
  • 命名特别规范(这可能跟老外的英语水平有关)。 要写高质量的代码,不是一件容易的事,需要长年累月的锻炼,是一个量变到质变的过程。 但要写好命名,只需要有比较好的英语语法基础和一种自我意识即可轻松达到...
  • Android代码命名规范

    2018-08-30 10:40:06
    可是,有很多人容易忽略Android代码命名规范,从而导致代码的可读性 & 维护性非常差,最终导致开发效率 & 维护效率降低 今天,我将根据 Google Java 编程规范 & Google 官方 Android ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 493,783
精华内容 197,513
关键字:

代码命名规范