遵守普遍接受的命名规范

【chat】Verilog命名规范实战指南:从文件到模块的优雅编码 本文详细介绍了Verilog命名规范的最佳实践,从文件命名到模块定义、端口信号处理以及参数状态命名等关键环节。通过实际案例和代码示例,帮助开发者掌握优雅编码技巧,提升代码可读性和可维护性,特别适合FPGA和数字电路设计工程师参考。 阅读详情

本文是Effective Java 学习笔记
当你简化你的生活,宇宙的法律将更加简便;孤独不会孤独,贫穷不会贫穷,也不虚弱无力。——亨利大卫梭罗(梭罗)

第56条:遵守普遍接受的命名规范

包的名称:


包的名称应该是层次壮的,用句号分隔每部分。每个部分都包括小写字母和数字(很少使用数字)。任何将在你的组织之外使用包,其名称都应该以你的组织的Internet域名开头,并且顶级域名放在前面,例如:edu.cmu com.sun
包名称的其余部分应该包括一个或者多个描述该包的组成部分。这些组成部分
应该比较简短,通常不超过8个字符。鼓励使用有意义的缩写形式,例如,使用
utils而不是utilities。只取首字母缩写形似也是可以接受的,例如awt。
每个组成部分通常都应该由一个单词或者一个缩写词组成。

类和接口的名称


包括枚举和注解类型的名称,都应该包括一个或者多个单词没个单词都首字母大写,例如Timer和TimerTask.
除非是一个首字母和通用的缩写,比如max和min。
多个单词情况例如:HttpUrl

方法和域的名称与接口命名


首字母大写 :例如remove、ensureCapacity
常量域:包括一个或多个大写的单词,中间用下划线隔开,例如
private static final int GET_ASSOCIATIONS_ACTION = 1;
常量域是唯一一个推荐使用下划线的情形。

类型参数名称通常由单个字母组成。这个字母通常是以下五种类型之一;
T表示任意类型的,E表示集合元素类型,K和V表示映射的键和值类型,X表示异常。任何类型的序列可以是T、U、V或者T1、T2、T3。
表 字面惯用例子

项目价格
包package org.litepal;
类或接口LitePalBase、AverageCallback
方法或者域onFinish、select、order
常量域GET_ASSOCIATIONS_ACTION、GET_ASSOCIATION_INFO_ACTION、字母”l”(还包括大写字母”O”)尽量不要和数字混用

局部变量 | getMethodName
类型参数 | T、U、V、T1、T2、T3
执行某个动作方法通常用动词或者动词短语来命名,例如append和drawimage
对于返回boolean值的方法,其名词往往以单词“is”开头,后面跟名词或者名短语或者具有形容词功能的单词和短语,例如isDigit、isProbalePrime、
isEmpty、isEnable、hasSiblings。
转换类型的方法、返回不同的类型独立对象方法,通常被称为toType,例如toString和toArray。
返回视图的方法通常被称为asType。例如asList。
返回一个与被调对象同值的基本类型的方法,通常被称为typeValue,例如intValue。
静态工厂的常用名称为valueOf、of、getInstance、newInstance、getType和NewType

辅助工具

阿里巴巴Java代码规约


github地址https://github.com/alibaba/p3c

ESP32S3学习——i2c,点亮0.96寸oled 阅读详情

相关推荐

NTFS分区变成RAW别乱修!正确数据恢复与修复方法详解

文件系统是操作系统管理存储数据的核心机制,NTFS作为Windows主流文件系统,一旦分区识别异常,常会显示为RAW格式。分区变RAW通常意味着文件系统入口信息损坏,而非数据物理消失,但若采用错误的修复方式,如直接对RAW分区执行chkdsk /f,可能因系统无法正确识别文件系统结构,导致写入操作落在错误偏移位置,二次破坏本可恢复的数据。正确的处理思路是:先停止一切写入操作,通过扇区级镜像备份保留原始现场,再分析DBR、分区表及$MFT状态,依据诊断结果选择修复或深度扫描恢复。实际排查中,常见问题如DBR记

weixin_31155097的博客 135

6. 命名约定

6. 命名约定¶<br />最重要的一致性规则是命名管理. 命名风格快速获知名字代表是什么东东: 类型? 变量? 函数? 常量? 宏 ... ? 甚至不需要去查找类型声明. 我们大脑中的模式匹配引擎可以非常可靠的处理这些命名规则.<br />命名规则具有一定随意性, 但相比按个人喜好命名, 一致性更重, 所以不管你怎么想, 规则总归是规则.6.1. 通用命名规则¶<br />Tip<br />函数命名, 变量命名, 文件命名应具备描述性; 不要过度缩写. 类型和变量应该是名词, 函数名可以用 “命令性” 动

Richarll的专栏 637

在Windows上安装Fortran编程环境「0 错误」|编程一对一教学文章

通过以上步骤,你已经成功在 Windows 系统上配置了 Fortran 编程环境。现在,你可以开始 Fortran 语言的学习和开发工作了。记得定期检查更新你的编译器和编辑器,以获得最佳的支持和新功能。

AI悦创·编程私教1v1 1675

Github仓库命名规范

Github仓库命名规范   命名规则 GIT库名一律采用项目名-类型-年月的形式。其中对项目名的规范如下: 库名中不得出现下述规定的字符- \ @ ! # $ % ^ &amp; * () [] {} | \ ; : '' ’ , 。 《 》 &lt; &gt; · ~ 。 库名应尽量避免使用 名.名的形式。 库名应尽量使用英文,禁止使用中文字符。一般情况下,库名中出现的各个单词...

XD 1万+

不止于使能:用汇川PLC功能块封装,实现伺服轴状态管理与安全逻辑

本文深入探讨了汇川PLC功能块封装在伺服轴控中的应用,详细介绍了如何通过高级封装技术实现伺服轴的状态管理与安全逻辑。文章涵盖了从基础使能到全生命周期监控的进化,多轴协同的实例化管理策略,以及安全逻辑的防御性编程技巧,为工业自动化领域的工程师提供了实用的解决方案和最佳实践。

weixin_28684825的博客 273

产品经理必备知识——API接口

在古代,我们的传输信息的方式有很多,比如写信、飞鸽传书,以及在战争中使用的烽烟,才有了著名的烽火戏诸侯,但这些方式传输信息的效率终究还是无法满足高速发展的社会需要。如果你选择允许,app就会根据你的当前位置为你提供更加个性化的一些服务,当然也有一些app拿到你的位置信息做出损害用户利益的行为,所以还是需要谨慎授权。首先,看接口文档的场景一般是自身业务模块需要获取外部的数据,但又不想自己重新开发,寻找外部已经实现的有开放能力的供应商(包含企业内部的)。通过发送请求和响应消息的方式实现程序间的通信。

WBKJ_Noah_的博客 3457

Github库名命名规范

Github库名命名规范一、必要性说明由于迁移到Github上的项目越来越多,对项目的管理越来越困难。由于各项目命名具有随意性,用之代表git仓库名后就很难快速回忆起这个项目的相关细节,通常需要不断打开某个库才能有所了解。因此,十分必要对git库名命名方式进行规范以便于项目的管理。二、命名规则GIT库名一律采用项目名-类型-年月的形式。其中对项目名的规范如下: 库名中不得出现下述规定的字符- \ @

奔跑的QQEE的笔记 1万+

OpenPose 论文理解

OpenPose: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation paper: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields link: OpenPose paper...

JustForYou的博客 2万+

Git常用命名方法

Git常用命名方法

m0_56023096的博客 3041

CST-Python(Pycharm如何与CST联合仿真,获取S参数)

我们想使用Python与CST联合仿真,其实是不需要自己下载Python的,因为CST在下载的时候就自带了Python3.6,我们只需要找到并将软件的环境设置到相应位置,即可联合仿真。(我的保存路径为D:\Program Files (x86)\CST Studio Suite 2020,在寻找时可以将前面切换成自己的保存路径,后面不需要修改)在CST帮助文档(打开CST软件,按F11即可直接访问帮助文档)里面,进行如下操作,便可以看到CST适配的Python版本为Python3.6!

weixin_52696285的博客 5653

ROS与UR10e机械臂实战:从零搭建到精准控制

本文详细介绍了如何从零开始搭建ROS与UR10e机械臂的开发环境,包括硬件准备、软件配置、网络设置以及MoveIt!运动控制实战。通过具体的代码示例和常见问题排查,帮助开发者快速掌握UR10e机械臂的精准控制技术,适用于工业自动化和实验室研究场景。

m3n5b7v8c9x的博客 772

常见命名规范

文章目录0. 前言1. 常见命名方式1.1. 驼峰命名法1.2. 蛇形命名法1.3. 串式命名法1.4. 匈牙利命名法2. 取好名字2.1. 要有准确的意义2.2. 严格遵守命名规范2.3. 可读性优先 0. 前言 使用好的命名规范能够让自己和他人更加容易阅读和理解代码。 1. 常见命名方式 1.1. 驼峰命名法 驼峰命名法指的是使用大小写混合的格式,单词之间不使用空格隔开或者连接字符连接的 命名方式。它有两种格式:大驼峰命名法(UpperCamelCase)和小驼峰命名法 (lowerCamelCase)

qq_35346585的博客 6222

【EtherCAT实践篇一】TwinCAT 3安装、使用

FULL(XAE)安装包:包含了XAR的功能,并能进行多种语言的编程和硬件组态,通常安装在编程电脑上;XAR安装包:包含了ADS的功能,是实时运行环境,对 TwinCAT 模块进行加载、执行、管理、实时运行与调用,通常安装在PLC中;RM安装包:在装了高版本的TwinCAT 3后,发现PLC中的TwinCAT版本较低,就需要安装相应低版本的RM安装包切换版本使用(注:4024无法使用RM安装包切换到低于4022的版本,如4020/4018/4016版本。

JXES智能生态系统 5133

38-遵守普遍接受的命名惯例

名字惯例: 包                      缩写 util类/接口               首字母大写                     名词(Writer)/ 名词或者形容词(Collection、Runnable 、Accessible)方法                   首字母小写                      动词短语   返回Bo

woandzk的专栏 462

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

第五十六条 遵守普遍接受的命名惯例

java 发展了几十年了,已经有了一套自己的命名规范和惯例了,下面整理了一下,设计字面和语法,我们需要遵守这些惯例,一旦违反,不一定会出错,但维护起来或者其他人可读性就大大降低了,并给其他人造成一定困扰。   包: 包名一般用 . 符号隔开,一般都是小写,并且以公司的顶级域名作为开头; java javax 等属于例外,我们不要模仿;包的命名尽量简短,不要拖拉过长。 类和接口: 首字母要大...

Deaht_Huimie的博客 439

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

2015070402 - EffactiveJava笔记 - 第56条 遵守普遍命名规范(1)

20150704 星期六 北京    Java建立一套完整的命名规范,字面的和语法的规范.    包的命名应该是层次的,使用句号”.”分隔每个部分.任何将你组织之外的使用的包,命名规范是你组织的internet域名开头,并且顶级域名放在前面.例如edu.cmu,com.sun等.标准类库和可选包以java或者javax开头,这属于规则的例外.    但是用户创建的包决不能以java或者jav

bellsky 483

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

【第38条】遵守普遍接受的命名惯例

    Java平台(其实整个编程界)有着一套很好的命名惯例。所谓惯例,可以理解为“约定俗成”。类似我们常见的《命名规则》《编码规则》《SQL文规则》等,经过提炼,可以基本看出里面的“规律”。       “约定”对于编程来说,意义远大于在其他领域。在Rails中,甚至是“约定大于配置”的。       具体到Java的一系列命名惯例,首先是包名。和.Net中的namespace类似,Ja...

从Java看编程 434

2015070403 - EffactiveJava笔记 - 第56条 遵守普遍命名规范(2)

语法命名规范,对于包没有语法命名规范.    类通常用一个名字或者名词短语.比如,Timer,BufferWriter    接口和类类似,比如Collection,Comparator或者以-able或者-ible结尾的形容词来命名,比如Runneable,Iterable,或者Accessible    执行动作的方法通常使用动词或者动词短语命名,比如append或者drawImage.

bellsky 458

C# 命名规范

三个字母以下的全大写,超过的首字母大写,三个字母的都行(

这是博客描述 882

cpp教程2-cpp命名规范整理

目录 命名通用规则 文件命名规则 变量命名规则 名字空间命名规则 宏命名 define头文件保护命名 匈牙利命名法zzz 谷歌开源cpp代码规范 命名通用规则 文件名、函数名、变量名命名应具有描述性,不要过度的缩写,类型变量是名词,函数名是动词或动词+名词。函数名必须是指令性的,非常普遍性的才用缩写。 总结:命名要遵守项目规范,同时有区分度 文件命名规则 c++文件应以.cpp/.cc结尾, 头文件以.h结尾,文件名全部小写,中间采用下划线连接单词 3类型命名 类型包括:类(class)、结构体(struc

搜索引擎预备工程师 2734

【开发手册】——这些规约你遵守了么?

前言 《Java开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断完善,公开到业界后,众多社区开发者踊跃参与,共同打磨完善,系统化地整理成册。现代软件行业的高速发展对开发者的综合素质要求越来越高,因为不仅是编程知识点,其它维度的知识点也会影响到软件的最终交付质量。比如:数据库的表结构和索引设计缺陷可能带来软件上的架构缺陷或性能风险;工程结构混乱导致后续...

我爱吃土豆 7735

你写的代码遵守命名约定吗?

养成这样的好习惯绝无坏处——因为你的代码是要给别人看的呵呵条目                    前缀Form                    frmClass clsClass                   cls/CModule modModule                  modLabel                   lblLinkLabel     

地球人的blog 550

用 Architecture Decision Record 定夺 REST API 命名规范:snake_case 还是 camelCase

本篇以开源仓库 architecture-decision-record 中一份真实的德语版 ADR(Architecture Decision Record,架构决策记录)示例为蓝本,完整解析"REST API 端点命名究竟该用 snake_case 还是 camelCase"这一高频架构决策的完整记录过程:从问题背景、决策驱动因素,到最终选择与后果评估。读完本文,你不仅能掌握这份 ADR 的全

gitblog_00216的博客 832

技术文档自动标题生成与命名规范实践

在软件开发与知识管理领域,文档标题是内容检索和组织的重要元数据。基于自然语言处理技术,通过词频统计和关键词提取算法,可以自动生成反映文档核心内容的标题。这种自动化方法能显著提升技术文档管理效率,特别适用于代码片段、临时笔记等易出现无标题内容的场景。结合文件命名规范和开发环境集成方案,可系统解决无标题文档带来的检索困难、版本混乱等问题。实践表明,在VS Code插件配置、Git预提交钩子等工程实践中应用这些技术,可使团队协作效率提升30%以上。

weixin_30565327的博客 368
上一篇: 第8章 Java的反射机制、Java的代理机制、类加载
下一篇: Java枚举以及实现原理
我叫王哈哈
博客等级 码龄11年 36粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值