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

    2021-11-17 10:12:26
    命名方式 PascalCase(帕斯卡命名法,大驼峰) camelCase(骆驼命名法,小驼峰) kebab-case(短横线) 文件夹 参照node_modules中的项目依赖,统一短横线命名 文件 vue (PascalCase或者kebab-case) 1....

    命名方式

    PascalCase(帕斯卡命名法,大驼峰)

    camelCase(骆驼命名法,小驼峰)

    kebab-case(短横线)

     文件夹

    参照node_modules中的项目依赖,统一短横线命名

    文件

    vue (PascalCase或者kebab-case)

    1.PascalCase更清晰 (推荐)

    2.kebab-case兼容性更高

    3.PascalCase文件夹/index.vue文件(vue自动识别index文件)

    components/
    |- MyComponent.vue
    
    components/
    |- my-component.vue
    
    components/
    |- MyComponent
       |- index.vue
    

    js

    3种命名方式都有,个人比较喜欢小驼峰

    api文件最好加上Api后缀以便识别

    css

    kebab-case推荐

    文件内部

    html或template标签: kebab-case (html大小写不敏感,template保持统一)

    类名: PascalCase

    函数,方法,变量: camelCase

    常量: 全部大小,下划线分割 TEST_NUM

    参考

    风格指南 | Vue.js

    展开全文
  • matlab代码命名

    2021-07-30 14:59:58
    matlab脚本命名不能是函数名,不然不执行。

    matlab脚本命名规则,否则不执行。

    1 首字符不能是数字或下划线:如果首字母是数字或者下划线,MATLAB通常提示找不到该文件。

    2 文件名命名要用英文字符, 不可以包含中文。

    3 文件名不能与matlab的内部函数名相同:m文件名的命名尽量不要是简单的英文单词,最好是由大小写英文/数字/下划线等组成。原因是简单的单词命名容易与matlab内部函数名同名,结果会出现一些莫名其妙的错误;

    4 m文件起名不能有空格:如three phase,应该写成three_phase或者ThreePhase,推荐后者,因为C++也是这样命名的。若需要用两个或以上单词组合作为文件名,各单词必须直接连接组合(可以把每个单词首字母大写以作区分,或者使用下划线)。如random walk,应该写成RandomWalk或者Random_Walk。

    5 文件存储路径一定为英文路径:如果用带有中文的路径,某些情况下会出问题。

    6 M文件名的命名最好是由大小写英文字母/数字/下划线等组成。如果出现相同MATLAB通常会提示。

    https://blog.csdn.net/XL__MAX/article/details/91053272

    展开全文
  • 附件5 常见标识符命名风格种类 常见 编程标识符命名风格 种类 类别 别称 命名法逻辑 特点 举例 优缺点 常见应用场合 帕斯卡 ...

    附件5 常见标识符命名风格种类

    常见 编程标识符命名风格 种类

    类别

    别称

    命名法逻辑 特点

    举例

    优缺点

    常见应用场合

    帕斯卡

    大驼峰

    大小写混排,每个单词的首字母大写。

    void GetKey(void);
    int TimeCount;

    函数库和Jave平台下居多。

    骆驼

    小驼峰

    大小写混排,每个单词的首字母大写,第一个单词的首字母小写。

    void getKey(void);
    int timeCount;

    面向对象语言(Java、C#)变量、方法常用。
    事实上,很多程序员在实际命名时将骆驼命名法和帕斯卡命名结合使用。例如:变量用骆驼命名法;函数用帕斯卡命名法。

    匈牙利

    类同
    小驼峰

    大小写混排,每个单词的首字母大写,第一个单词的首字母小写,小写字母用来表明标识符的属性、类型等。

    标识符名:属性+类型+对象描述。
    属性:g_ 全局变量;c_ 常量;m_ c++类成员变量;s_ 静态变量
    类型:a数组;p指针;v无返回值;fn函数;h句柄;u无符号;
          b布尔;c字符;i整型;l长整型;f浮点型;n短整型;
          d双精度浮点;r实型;w字;dw双字;by字节;sz字符串;
    描述:Max最大;Min最小;Init初始化;Temp临时变量;
          Src源对象;Dest目的对象。 

    void vGetKey(void);
    int g_iTimeCount;

    优点:可读性很强,清晰。
    缺点:变更变量类型和属性麻烦;C++是强类型,体现不出优点。随着编译器的优化,优点也在被弱化。此法争议多。

    非Windows系统开发,笔者不建议使用匈牙利法,可扬长去短,保留:g_全局变量,m_成员变量,s_静态变量。

    常见于Windows。

    下划线

    全小写,以 下划线 分割逻辑断点。上面是以大写字母为逻辑断点。

    void get_key(void);
    int time_count;

    常见于Linux内核,C++标准库,Boost以及Ruby,Rust等语言。C、Python变量常用。

    附件4 标识符命名个人风格(本人从事嵌入式 8/32位MCU)

    标识符命名个人风格

    标识符

    其他环境

    FreeRTOS环境

    uCos-II环境

    文件夹名

    帕斯卡(大驼峰)

    帕斯卡(大驼峰)

    帕斯卡(大驼峰)

    文件名

    下划线

    下划线

    下划线

    变量名

    骆驼(小驼峰)

    静态变量加前缀s_
    全局变量加前缀g_
    类的数据成员加前缀m_

    结构体变量加前缀st_

    联合体变量加前缀ut_

    枚举变量加前缀et_

    匈牙利 (有修改)
    标识符名:类型+对象描述
    类型:
    uint32_t对应前缀ul
    uint16_t对应前缀us
    uint8_t对应前缀uc
    char(仅用于字符)对应前缀c
    枚举类型对应e
    指针类型对应p
    其他类型对应x
    char *对应前缀pc

    下划线

    常量/宏名

    全大写

    小写(文件名部分)+大写
    例:configUSE_PRE

    全大写

    函数名

    帕斯卡(大驼峰)
    谓-宾(动-名)结构

    匈牙利 (有修改)
    static限定函数对应前缀prv(私有)
    API函数返回值类型为函数名前缀
    API函数名使用所在的文件名,例如在tasks.c文件中函数 vTaskDelete();

    帕斯卡(大驼峰)
    程序类别作为前缀
    OS_TaskIdle( )

    方法名

    帕斯卡(大驼峰)

    接口名

    帕斯卡(大驼峰)

    类名

    帕斯卡(大驼峰)
    以C开头

    结构体类型名

    帕斯卡(大驼峰)
    以S开头

    联合体类型名

    帕斯卡(大驼峰)
    以U开头

    枚举类型名

    帕斯卡(大驼峰)
    以E开头
    枚举值同 常量/宏名

    展开全文
  • 你是否还在为代码命名而纠结不已?here are only two hard things in Computer Science: cache invalidation and naming things.-- Phil Karlton那么如何更好的命名呢? 是否有好的工具可以支持我们命名呢?网上搜索...

    你是否还在为代码命名而纠结不已?

    here are only two hard things in Computer Science: cache invalidation and naming things.-- Phil Karlton

    dfe8e942c7862384fb381ead70b8d3bc.png

    那么如何更好的命名呢? 是否有好的工具可以支持我们命名呢?网上搜索一圈没有发现满意的,于是自己动手丰衣足食,https://jadepeng.gitee.io/code-naming-tool/。

    使用方法: 打开网页后,在中文输入框中输入 中文命名,然后回车即可。也可以直接在英文输入框输入英文,搜索候选。

    现有的工具

    unbug.github.io/codelf/ 提供了一个选择,作者先调用有道、百度等翻译,然后调用searchcode搜索代码,从搜索的代码中提取变量名。

    eef444a94b3411bf23597864b6672e61.png

    界面做的很酷,但是推荐出来的变量名称质量参差不齐,失去了参考意义。

    新的思路

    我们常说以史为鉴,换一个思路,我们可以从优秀的开源库中去吸收他们命名的经验,看看他们是如何命名的,来供我们参考。

    实现思路:

    1. 从spring、apache等代码库,读取变量、方法、类名称

    2. 根据关键词匹配出候选命名

    3. 候选结果排序

    63ea2ca667da4c3f755df068d1b14814.png

    获取优秀命名

    要获取命名,首先想到的是读取代码库,需要先下载代码,然后解析 ———— 工作量巨大,PASS。

    那怎么做呢,换个角度,可以通过java的反射来实现。

    首先添加一个辅助库:

    org.reflections

    reflections

    0.9.12

    然后初始化Reflections,FilterBuilder可以用来过滤类库,我们设置"org","javax","com","io", 基本上囊库了主要的开源类库,比如spring,apache等.

    List classLoadersList = new LinkedList();

    classLoadersList.add(ClasspathHelper.contextClassLoader());

    classLoadersList.add(ClasspathHelper.staticClassLoader());

    Reflections reflections = new Reflections(new ConfigurationBuilder()

    .setScanners(new SubTypesScanner(false), new ResourcesScanner())

    .setUrls(ClasspathHelper.forClassLoader(classLoadersList.toArray(new ClassLoader[0])))

    .filterInputsBy(new FilterBuilder().includePackage("org","javax","com","io")));

    然后,可以通过reflections.getSubTypesOf(Object.class);来获取相关的class了,注意,我们初始化一个Map name2count = new HashMap();用来存储代码命名以及对应的出现次数。

    Set> allClasses =

    reflections.getSubTypesOf(Object.class);

    Map name2count = new HashMap();

    for (Class> clazz : allClasses) {

    System.out.println(clazz.getName());

    try {

    appendToNameMap(name2count, clazz.getSimpleName());

    Field[] fields = clazz.getDeclaredFields();

    for (Field field : fields) {

    String name = field.getName();

    appendToNameMap(name2count, name);

    }

    Method[] methods = clazz.getMethods();

    for (Method method : methods) {

    String name = method.getName();

    appendToNameMap(name2count, name);

    // parameters

    Parameter[] parameters = method.getParameters();

    for (Parameter param : parameters) {

    name = param.getName();

    appendToNameMap(name2count, name);

    }

    }

    }catch(Throwable t)

    { }

    其中appendToNameMap:

    private static void appendToNameMap(Map name2count, String name) {

    // filter

    if(name.contains("-") || name.contains("_")|| name.contains("$")){

    return;

    }

    if (!name2count.containsKey(name)) {

    name2count.put(name, 1);

    } else {

    name2count.put(name, name2count.get(name) +1);

    }

    }

    最后把结果存储到文件,作为我们的资源。

    FileUtils.writeAllText(JSON.toJSONString(name2count), new File("name2count.txt"));

    可以到https://gitee.com/jadepeng/code-naming-tool/blob/master/vars.js查看结果。

    命名推荐

    命名推荐,还是遵循,先翻译,然后根据翻译结果搜索并召回。

    其中翻译直接调用网易有道的,但是搜索如何搞定呢?

    最简单的方法,肯定是分词,然后建立索引,lucene是标配。但是上lucene就要上服务器,PASS!

    我们来找一个浏览器端的lucene,google 后选定flexsearch.

    0ab197e1464a022c993b6926bf302ab3.png

    flexsearch github上有6.5k star,因此优先选择。

    下面来看具体的实现。

    建立索引

    初始化FlexSearch,然后将之前获取的代码命名建立索引。

    var index = new FlexSearch({

    encode: "advanced",

    tokenize: "reverse",

    suggest: true,

    cache: true

    })

    var data = []

    var i = 0

    for (var name in names) {

    var indexName = name.replace(/([A-Z])/g, " $1")

    data[i] = {

    "name": name,

    "count": names[name]

    }

    index.add(i++, indexName)

    }

    这里有个小技巧,name.replace(/([A-Z])/g, " $1") 可以将驼峰命名拆分成单词。

    同时data数组会保存所有的命名和响应的出现次数。

    搜索候选

    先翻译,然后将翻译结果给FlexSearch搜索。

    function searchFromIndex(value) {

    var results = index.search(value, 25)

    results = results.map(function (i) {

    return data[i]

    })

    results = results.sort(function (a, b) {

    return b.count - a.count

    })

    return results

    }

    先搜索,出来的结果是data中的index序号,转换为list对象,然后按照count倒排。

    tips: 理论上,翻译的结果可以去除一些停用词,搜索效果应该更好,这里先放着。

    显示结果

    对结果进行格式化:

    function formatSuggestion(item){

    return `${item.name} 代码库共出现${item.count}次 (相关搜索: codelf   searchcode)`;

    }

    增加到codelf 和 searchcode的链接,显示结果如下:

    c7b53b16d0be9ec42666814f73ae50e7.png

    开源地址

    总结

    到此这篇关于来,我们一起打造一款代码命名工具的文章就介绍到这了,更多相关代码命名工具内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    展开全文
  • 前文简单提到clang-tidy提供命名规范检查,由于篇幅,没有详细讲解。 正好最近有分了个旧项目代码规范整改的杂活,就补充描述下在vscode中如何使用clang-tidy进行静态检查。 clang 三级目录 ...
  • 代码命名规范

    千次阅读 2021-06-14 11:38:57
    二、Java代码规范 包、类、变量、方法的命名需要见名知义 1)包名全部小写,不要出现大写字符以及下划线 比如: cn.zcbigdata.mybaitsdemo、controller、entity、mapper、service、util 2)定义的类需要满足首字母...
  • Python代码命名规范详解

    千次阅读 2021-03-05 22:33:15
    代码命名规范。不是必须的,但是十分、非常必要的!!!这边做一下介绍。1.拒绝通用词1、写代码的时候,不管是全局变量还是局部变量,都应该避免使用 ‘list’、‘dict’、‘elements’ 等词作为变量名,它们会使...
  • 代码命名规范。不是必须的,但是十分、非常必要的!!!这边做一下介绍。1.拒绝通用词1、写代码的时候,不管是全局变量还是局部变量,都应该避免使用 ‘list’、‘dict’、‘elements’ 等词作为变量名,它们会使...
  • 代码命名约定对代码的提高可读性影响巨大。本文中,我们将总结并向您提供一些关于命名的最佳实践的示例,以帮助您编写更优雅的Python代码,使将来可能阅读和使用您的代码的人(包括您自己)受益。Python是一种面向...
  • 原标题:Java程序员需要掌握的几个代码命名代码中到处都需要命名。作为程序员,我们得给类命名,给变量命名,给函数命名,给参数命名,给命名空间命名,等等等等。下面有20条小贴士能帮助你提高你的命名能力。 1....
  • 常见代码命名规范

    2021-07-24 16:28:28
    常见代码命名规范目的命名总体规则常用命名方法Pascal(帕斯卡)命名法Camel命名法常见运用场所 目的 为了统一软件开发过程中的编码规范,保证代码的一致性,便于交流和维护。 命名总体规则 • 名字应该能够表示事物...
  • ORB-SlAM2代码变量命名规则总结 这里简单的对 ORB-SlAM2 代码中的变量命名规则做一个简单的总结,希望以后对阅读源码有帮助。 类成员变量 类成员变量在变量名前加上个小写的m,比方说system类中的成员变量mSensor,...
  • 牛逼!这个网站可以帮助程序员命名变量和函数!

    千次阅读 多人点赞 2021-06-14 16:36:53
    程序员最头疼的事情除了头发以外就是给变量或函数命名,一开始学编程语言的时候还可以 abc、a1、x2 等方式命名,等到工作过程中开始真正的项目开发时,如果还是这样随意的命名,即使同事可以忍受你的 abc,隔几个月...
  • C++命名规则&书写规范

    千次阅读 2021-05-12 09:49:44
    常见命名法: 匈牙利命名法:基本原则是:变量名=属性+类型+对象描述\color{blue}{变量名=属性+类型+对象描述}变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字...
  • html命名规则

    2021-06-11 10:00:44
    一、命名规则说明: - TOP1)、所有的命名最好都小写2)、属性的值一定要用双引号("")括起来,且一定要有值如class="divcss5",id="divcss5"3)、每个标签都要有开始和结束,且要有正确的层次,排版有规律工整4)、空元素...
  • DDD的类命名规范

    2021-06-15 23:35:51
    文章目录DDD的类命名规范前言用户界面层的类命名规范应用层的类命名规范领域层的类命名规范基础设施层的类命名规范其它的类命名规范参考文档 DDD的类命名规范 前言 本文整理了DDD的类命名规范,供参考。 下面按照DDD...
  • git commit 命名规范

    2021-05-18 17:52:05
    git commit 命名规范 type: commit 的类型 feat: 新特性 fix: 修改问题 refactor: 代码重构 docs: 文档修改 style: 代码格式修改, 注意不是 css 修改 test: 测试用例修改 chore: 其他修改, 比如构建流程, ...
  • java源程序命名规则

    2021-03-01 09:08:31
    1、在eclipse中源程序的命名:类中有public static void main() 的是主类。2、如果一个源程序中有多个类,这多个类可以都不是public类3、源程序的文件名一定是主类的名字(Java程序源文件上的主文件名可以是任意的.但...
  • 浅谈Java中的命名规范

    2021-02-12 17:09:50
    现代软件架构的复杂性需要协同开发...本文将从Java代码命名规范这一维度,来探讨一下,如何写出健壮的、可读性强的代码,提高项目的可维护性。最重要的是提高我们的编程幸福感。1.包名统一使用小写,点分隔符之...
  • 在我们编写代码时,常常面对命名困难问题(不是指命名规范,而是指一个贴切的变量或函数名),其实只要留意,就会发现很多优秀的开源代码或api接口有大量供我们参考的代码名词,可积累起来供平时工作使用。...
  • 博主-草原飞歌刚开始编程的程序员在给...比如这些代码在脚本中有什么作用呢?不写行不行?UseingXX表示导入某个命名空间。比如说usingSystem;就是到导入操作系统命名空间,usingUnityEngine;就是导入unity引擎程序...
  • Verilog代码规范(一)

    2021-04-30 17:33:13
    代码规范很多都是team的统一要求,有些并非是强制,team内遵循某个约定,以方便阅读、管理。... 信号命名 模块格式 时钟 复位 assign语句 if语句 case语句 加default值可预防la
  • git 拉取指定分支代码

    2021-03-04 15:44:13
    拉取指定分支代码: git clone --branch 输入你要拉取的分支名字 git仓库的地址 示例: 拉取指定深度的某个分支代码 git clone --depth 输入深度值 --branch 输入你要拉取的分支名字 git仓库的地址 示例: ....
  •   Simulink自动代码生成也被称作基于模型开发(BMD),相比于传统的手写代码方式能够尽量减少人为错误。模型本身可以用于仿真,单元测试等,更便于提前发现逻辑错误。同时只要约定好模型接口,就可以多人协作,每...
  • 参数名 成员变量 局部变量 枚举类 try-catch CheckStyle 检查Java源文件是否与代码规范相符 Javadoc注释 命名规范 标题import语句 体积大小 空白 FindBugs 基于Bug Patterns 概念,查找javabytecode(.class文件)中...
  • } //处理加了命名空间后出现方法miss filesPaths.AddRange( Directory.GetFiles(Path.GetFullPath(".") + Path.DirectorySeparatorChar + folder, "*.unnity", SearchOption.AllDirectories) ); filesPaths....
  • Visual Studio Code 是由 Microsoft(微软) 发布的一个免费的,开源的跨平台文本编辑器。他们基于在线编辑 Visual Studio Online (代号为 “Monaco”),并结合 GitHub 的 ...编辑器内置代码 调试工具。侧边栏内置 G...
  • 如果A代码库提供一个接口foo来完成一些工作,突然某天由于加入了新特性,需要升级接口,而有些用户喜欢新的特性但是并不愿意为了新接口去修改他们的代码,还有部分用户认为新接口影响了稳定性,想继续使用老接口。...
  • 这篇文章阐述如果编写代码书写规范以及命名规范文档。【以java语言为例】1、代码书写规范代码书写规范,能够让不同的人,写出相同风格的代码。很多人都看过java源代码,你会发现java源代码的整体风格几乎是一致的,...
  • 最初的专栏文章对在代码中使用中文命名的质疑与回应是对一些常见质疑的批驳, 至今未见更有理的反面声音. 鉴于最近看到一些对中文命名进行负面暗示各种带节奏的网文(见最近一波对中文编程(包括中文命名)的攻势), 实在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,326,494
精华内容 530,597
关键字:

代码命名