命名约定

SFNC —— 标准特征命名约定(一) 本文档包含了 GenICam 的 “标准特性命名约定(SFNC)”,该协议为基于 GenICam 标准的设备提供了标准特性命名约定和标准行为模型。所有 GenICam 标准文档的最新发布版本都可以在EMVA 网站上的 GenICam 下载页面上找到(特别请参见 “SFNC(标准特性命名约定)” 一节)。仅使用 GenApi 就足以使相机或设备的所有功能都可以通过 GenICam API 进行访问。 阅读详情

常量命名约定
备注

推荐常量以大写字母表示。
示例
#DEFINE MAX_VALUE 10

变量命名约定
[Scope]TypeName

参数

Scope

可选。为标注变量作用范围的命名习惯。例如,局部变量使用“l”前缀,它提醒你它们仅作用于被定义的程序内部。建议的 Scope 表达式如下:

Scope

描述

示例

l

Local

lnCounter

p

Private (default)

pnStatus

g

Public (global)

gnOldRecno

t

Parameter

tnRecNo

Type

标注变量数据类型的习惯。建议的 Type 前缀如下:

Type

描述

示例

a

Array

aMonths

c

Character

cLastName

y

Currency

yCurrentValue

d

Date

dBirthDay

t

Datetime

tLastModified

b

Double

bValue

f

Float

fInterest

l

Logical

lFlag

n

Numeric

nCounter

o

Object

oEmployee

u

Unknown

uReturnValue

备注

前缀不是必须的,但是推荐这种好的编程习惯。使用前缀并不能规定变量的取值 — 在 Visual FoxPro 中,前缀仅仅作为一种命名的习惯。例如,增加前缀“c”并不能规定仅字符数据可以存储在该变量中, 但它可以提醒该变量是作为接受字符数据而建立的。

注意   scope 前缀仅是推荐而不是必须的。在某些情况下,范围不一定很明确。例如,在一个独立应用的主程序中,PUBLIC 或 PRIVATE 定义的变量可见范围没有区别。类型前缀永远与示例程序相关。

 

对象命名约定
PrefixName


推荐的对象命名前缀在下表中列出。

前缀

对象

示例

chk

CheckBox

chkReadOnly

col

Collection

colFormObjects

cbo

ComboBox

cboEnglish

cmd

CommandButton

cmdCancel

cmg

CommandGroup

cmgChoices

cnt

Container

cntMoverList

ctl

Control

ctlFileList

cad

CursorAdapter

cadInventory

Custom

user-defined

dte

DataEnvironment

dteSalesForm

edt

EditBox

edtTextArea

frm

Form

frmFileOpen

frs

FormSet

frsDataEntry

grd

Grid

grdPrices

grc

Column

grcCurrentPrice

grh

Header

grhTotalInventory

hpl

HyperLink

hplHomeURL

img

Image

imgIcon

lbl

Label

lblHelpMessage

lin

Line

linVertical

lst

ListBox

lstPolicyCodes

olb

OLEBoundControl

olbObject1

ole

OLE

oleObject1

opt

OptionButton

optFrench

opg

OptionGroup

opgType

pag

Page

pagDataUpdate

pgf

PageFrame

pgfLeft

prj

ProjectHook

prjBuildAll

sep

Separator

sepToolSection1

shp

Shape

shpCircle

spn

Spinner

spnValues

txt

TextBox

txtGetText

tmr

Timer

tmrAlarm

tbr

ToolBar

tbrEditReport

xad

XMLAdapter

xadRemoteXMLData

xfd

XMLField

xfdPrices

xtb

XMLTable

xtbInventory

备注
前缀不是必须的,但是推荐这种好的编程习惯。使用前缀并不能规定变量的取值 — 在 Visual FoxPro 中,前缀仅仅作为一种命名的习惯。例如,增加前缀“cbo”并不能规定对象是一个组合框,但它可以提醒该对象是一个组合框。

表字段命名约定
Alias.TypeName

参数

Type

标记表字段的数据类型。建议 Type 的前缀如下表。

类型

描述

示例

c

字符

Customer.cLastName

d

日期

Customer.dBirthDay

t

日期时间

Customer.tLastMod

b

双精度

Customer.bRate

f

浮点

Customer.fValue

g

通用

Customer.gPicture

l

逻辑

Customer.lSellMail

m

备注

Customer.mComments

y

货币

Customer.yYearTDate

n

数值

Customer.nItems

I

整型

Customer.iCustID

备注

前缀不是必须的,但是推荐这种好的编程习惯。使用前缀并不能规定变量的取值 — 在 Visual FoxPro 中,前缀仅仅作为一种命名的习惯。例如,增加前缀“c”并不能规定仅字符数据可以存储在该变量中, 但它可以提醒该变量是作为接受字符数据而建立的。 



窗口命名约定
wName

备注

不要在类定义前使用前缀;仅当示例的对象才使用前缀。

示例

当建立窗口对象时使用下列代码:

DEFINE WINDOW wCustomerInvoices ;
   FROM nFirstRow, nFirstColumn TO nLastRow, nLastColumn
采用超级电容设计的UPS不间断电源,用于掉电数据保存,可续航10-60秒 关键词:树莓派 CM4 UPS 不间断电源 掉电保存 超级电容 SuperCap 充电 升压 续航 10F 法拉电容 Mcuzone 野芯科技 概述:我们经常会遇到系统意外掉电的情况,对于一些可靠性要求很高的工业现场设备或者运行过程中有重要数据需要保存的平台就需要UPS电源了。常规的UPS采用后备锂电池设计,具备无缝切换、续航时间长、稳定可靠等特点,但同时也有价格过高、体积过大的缺点。对于不少仅需在检测到系统掉电后对数据进行保存即可的应用而言,这些标准的UPS电源就不太合适,为此我... 阅读详情

相关推荐

Synopsys Sentaurus TCAD新手教程:从零开始仿真trench MOSFET(附完整代码解析)

本文提供Synopsys Sentaurus TCAD新手教程,详细讲解从零开始仿真trench MOSFET的全过程,包括环境搭建、外延生长、沟槽刻蚀、栅极形成等关键步骤,并附完整代码解析。通过实际案例帮助半导体工程师掌握Sprocess操作技巧,优化工艺参数设置,提升仿真效率。

weixin_30505225的博客 217

计算机VFP基础知识,VFP基础教程章数据库系统基础知识4

VFP基础教程章数据库系统基础知识4分类:计算机等级|更新时间:2016-07-07|来源:中华网教育1.4 VFP 6.0 的一些规则1. VFP6.0 的命名规则:· 只能使用字母、下划线和数字。· 使用字母或下划线作为名称的开头。· 名称可以是 1 至 128 个字符,但自由表的字段名和索引标识最多只能有 10 个字符。· 避免使用 Visual FoxPro 的保留字。· 文件的命名遵循操...

weixin_28856331的博客 1168

AI协议助手:法律文本解析与智能问答技术解析

自然语言处理(NLP)技术在法律文本解析中展现出巨大潜力,通过BERT等预训练模型实现条款分类与语义理解。结合OCR与知识图谱技术,AI协议助手能快速提取合同核心条款,并以问答形式解释法律术语,显著提升商务场景的决策效率。测试数据显示,该系统对NDA协议的识别准确率达92%,响应时间仅1.2秒,特别适用于人力资源竞业协议、云服务SLA评估等场景。随着RAG架构与法律术语向量库的应用,AI+法律正推动合同审核成本下降67%,未来将在跨境合规、智能谈判等方向持续演进。

weixin_29053577的博客 128

VFP基本操作

关于Virtual Fox Pro的一些基本操作,方便自己以后查阅使用。

weixin_45767881的博客 4586

高速PCB差分对布线仿真实战案例

差分对布线是高速PCB设计的关键环节,直接影响信号完整性与EMI性能。本文结合实际项目,详解等长控制、阻抗匹配、间距优化等核心技巧,并通过仿真工具验证眼图、串扰和时序裕量,助力工程师规避常见高速pcb设计陷阱。

weixin_29092787的博客 349

UE5在Ubuntu22.04.4下的高效开发环境配置指南

本文详细介绍了在Ubuntu 22.04.4系统上配置UE5高效开发环境的完整指南,包括系统准备、显卡驱动安装、UE5引擎编译与配置、开发工具链设置以及性能优化技巧。通过逐步指导,帮助开发者快速搭建稳定的UE5开发环境,解决常见问题,提升开发效率。

weixin_29251131的博客 383

java 命名约定_Java命名约定

java 命名约定While writing code in Java, it is advisable to follow certain naming conventions. Java naming conventions bring some form of uniformity across your code. It makes your code easy to read for o...

从零开始的教程世界 1485

YOLOv11改进 ,YOLOv11改进主干网络为MobileNetV3,助力涨点

MobileNetV3通过结合硬件感知网络架构搜索(NAS)和NetAdapt算法,通过新颖的架构改进进一步提升了性能。本文开始探讨了自动化搜索算法与网络设计如何协同工作,以利用互补方法来提升整体技术水平。通过这一过程,创建了两个新的MobileNet模型:MobileNetV3-Large和MobileNetV3-Small,分别针对高资源和低资源使用场景。这些模型随后被适配并应用于目标检测和语义分割任务。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1934

Python:命名约定

Python 官方文档和 PEP 8(Python 官方代码风格指南) 提供了一系列通用规则,同时社区也形成了一些惯例。如 __init__(), __len__(), __str__() 以及 __name__ 等。不要随意使用 Python 保留字或与内置函数重名(如 list, str, id)。合理的命名不仅让代码符合团队规范,还能避免歧义与冲突。不要自定义不在规范内的名字,如 __myfunc__。这种风格称为“大驼峰命名”(PascalCase)。约定俗成表示“内部使用”或“受保护属性”。

qq_41176800的博客 1470

智慧安防:基于Java+YOLOv8的视频AI识别平台设计与实现

张工,我们的园区智慧安防项目又出问题了!用Python写的YOLOv8 demo,拉3路RTSP流就卡,视频延迟超过5秒,入侵检测误报率太高,一到晚上光线差就全是误报,而且和我们的Java安防平台对接太麻烦,还要搭个消息队列,架构复杂得要死!“别慌,用Java+YOLOv8啊!

2601_94871597的博客 196

交换机四种光互联技术:OIO、OBO、NPO与CPO

在过去几十年里,数据中心交换机主要依赖电信号通过铜线进行数据传输。然而,随着数据传输速率从100Gbps向400Gbps、800Gbps甚至1.6Tbps迈进,传统电互联(Electrical Input & Output, EIO)面临三大瓶颈:信号衰减、功耗激增和空间限制。例如,高速信号在长距离铜线传输中会产生严重的信号失真,迫使设计者加入数字信号处理器(DSP)来补偿信号衰减,这进一步推高了功耗和成本。此外,传统可插拔光模块的体积较大,限制了端口密度,难以满足现代数据中心对高带宽密度的需求。

网络技术联盟站 3130

JavaScript 命名约定很重要

我们只对可以通过键获取的值感兴趣(通常使用或传播语法),则命名约定保持不变——名称应该是复数名词。尽管有几种方法可以在 JavaScript 中声明变量,但对于常量,仅使用关键字似乎是合乎逻辑的,这样可以防止在程序执行期间更改它,因为一些团队不愿意担心为变量声明选择关键字。尽管 JavaScript 语言中有约定可写的 ,但值得注意的是,没有什么能阻止使用 ,例如, .如前所述,这种表示法可能对许多其他编程语言和某些团队更熟悉。

免费 934

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

FreeRTOS 中的命名约定及其说明

代码即文档 (Code as Documentation):无需查阅手册,仅凭函数名就能知道如何处理返回值和使用该函数。促进健壮性 (Promotes Robustness)x前缀强制(或强烈提醒)开发者进行错误检查,这是编写可靠嵌入式系统的关键。提高可读性和一致性 (Readability & Consistency):庞大的代码库保持一致的风格,使得阅读和理解代码变得更加容易。明确作用域 (Scope Clarification)prv前缀明确标识了哪些是内核内部的私有函数,避免了误用。

Shylock_Mister的博客 745

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

深度学习工具包 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")

JavaScript 命名约定最佳实践

在开发过程中,遵循标准的命名约定可以提高可读性。下面就来看看 JavaScript 中命名约定的最佳实践。

高先生的猫 1312

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

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

Rails命名约定

一.变量名全部小写,名与名之间用下划线分开。 二.类和模板,每个短语(包括第一个词)开头都大写,不用下划线分割。 三.数据库表名,全部是小写字母,词与词之间用下划线,并且加s变复数 例:  LineItem(类名)---------->line_items(数据库表名) 四.line_item.rb文件中,知道类的定义,类名LineItem 五.控制器命名约定,类名为StoreContr

刘春辉的小窝 1517

C# 命名规则和约定 【代码之美系列】

🎀拥有良好的编码习惯和规范可以让代码更赏心悦目。团队中的每一个人,对规范的理解是不统一的,任何团队开发中都需要规范,有统一的代码规范,肯定会事半功倍,方便维护。拒绝屎山代码从你做起,对,是从你做起。🤣。

李赛赛的专栏 1269

javascript的一些命名约定

这篇小文章主要是通过一些例子来介绍一些Javascript中一些关于命名变量,函数,类或者是组件的通用约定。虽然这些规则并不是强制性的,但是呢,他们却被一些JS社区所广泛采用,所以,了解他们还是很有必要的。 Javascript命名约定:变量 由于Javascript是大小写敏感的,因此,如果有几个变量,其仅仅是大小写不一样,这些变量在Javascript中会被理解为是不同的变量,如下所示: va...

qq_15697653的博客 348

java 的命名约定

<br /><br />命名约定<br />a) 类:首字母大写,如果一个类名由多个单词构成,那么每个单词的首字母都大写,中间不使用任何的连接符。比如Person类,MemberTest类。<br />b) 方法:首字母小写。如果一个方法由多个单词构成,那么第一个单词的所有字母全都小写,从第二个单词开始,每个单词的首字母大写。比如add,addThreeInt。<br />c) 属性:命名约定与方法相同。比如age,ageOfPerson。

bza_2000的专栏 442

VS Code扩展开发中的命名约定

通过遵循这些命名约定,可以显著提升代码的可读性和可维护性,同时与VS Code内置API保持风格一致,降低学习成本。实际开发中建议结合TypeScript的类型系统,通过接口和类型别名进一步强化命名规范。

1159

Google C++编程命名约定

原文网址:http://www.cnblogs.com/moodlxs/archive/2009/03/22/2345406.html 1. 总体规则:不要随意缩写; 2. 宏、枚举等使用全部大写+下划线; 3. 变量(含类、结构体成员变量)、文件、命名空间、存取函数等使用全部小写+下划线,类成员变量以下划线结尾,全局变量以g_开头; 4. 参考现有或相近命名约定…… 命名约定 最

Hot Will的专栏 879

python 中常见的命名约定

Python代码中常见的命名约定: _variable - 表示私有变量或临时变量 __variable - 表示私有变量并触发名称改写 __variable__ - 特殊变量/魔术方法 variable_ - 避免与关键词冲突 CONSTANT - 表示常量值 这些约定有助于提高代码可读性和封装性:单/双下划线区分可见性,前后双下划线标记特殊方法,后缀下划线避免冲突,全大写表示常量。遵循这些约定能更好地组织代码结构并减少意外错误。

A1_IT9686的博客 570

(转)命名约定

命名约定 有不少人编程时用拼音给函数或变量命名,这样做并不能说明你很爱国,却会让用此程序的人迷糊(很多南方人不懂拼音,我就不懂)。程序中的英文一般不会太复杂,用词要力求准确。匈牙利命名法是Microsoft 公司倡导的[Maguire 1993],虽然很烦琐,但用习惯了也就成了自然。没有人强迫你采用何种命名法,但有一点应该做到:自己的程序命名必须一致。 以下是我编程时采用的命名约定:...

anhuang5101的博客 140
上一篇: Hidden Secrets of the VFP IDE, Part 2
下一篇: 2004.07.28~2004.08.15工作报告
addwings
博客等级 码龄22年 0粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值