命名约定

博客介绍了编程中的命名约定,包括常量、变量、对象、表字段和窗口命名。常量推荐用大写字母,变量、对象、表字段命名有推荐前缀,虽非强制,但可提醒数据类型或对象类型,窗口命名有特定规则,还给出了相关示例。
部署运行你感兴趣的模型镜像

常量命名约定
备注

推荐常量以大写字母表示。
示例
#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

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

### FreeRTOS 的命名规则及变量函数命名惯例 FreeRTOS 是一种广泛使用的实时操作系统 (RTOS),其设计注重简洁性和可移植性。为了保持代码的一致性和易读性,FreeRTOS 遵循了一套严格的命名约定。 #### 1. 函数命名规则 FreeRTOS 中的函数通常采用 `prefix_functionName` 的形式进行命名。前缀通常是模块名称或者功能类别缩写,以便于快速识别函数所属的功能组。例如: - **`xTaskCreate`**: 表示任务管理相关的函数,其中 `x` 是返回类型的提示(见下文),`Task` 表示任务,`Create` 表示创建操作。 - **`vTaskDelay`**: 表示延迟任务的操作,`v` 表示无返回值(void 类型),`TaskDelay` 表示任务延迟[^1]。 #### 2. 变量命名规则 FreeRTOS 的变量命名也遵循类似的模式,通常具有描述性的名字并带有特定的前缀或后缀以表明用途。以下是常见的变量命名方式: - **全局变量**:通常以 `ux` 或 `px` 开头,分别表示 unsigned 和 pointer 类型的数据。例如,`uxTopReadyPriority` 表示最高优先级的任务状态[^3]。 - **局部变量**:一般使用更具描述性的短语作为变量名,如 `taskHandle` 表示任务句柄。 #### 3. 数据类型命名规则 FreeRTOS 定义了自己的数据类型集合,这些类型主要用于跨平台兼容性以及提高代码的可移植性。常见数据类型及其含义如下: - **`BaseType_t`**: 基础整数类型,用于存储简单的数值。 - **`TickType_t`**: 时间计数器类型,常用于时间间隔计算。 - **`StackType_t`**: 栈元素类型,具体实现依赖目标硬件架构。 #### 4. 返回值类型约定 FreeRTOS 对不同返回值类型也有明确的规定,通过字母前缀区分不同的返回值意义: - **`pdTRUE`, `pdFALSE`**: 表达布尔逻辑的结果,属于 ` BaseType_t` 类型。 - **`pdPASS`, `pdFAIL`**: 表示操作成功与否的状态标志。 - **`x`**: 如果函数返回复杂结构体,则通常以 `x` 开始;如果返回简单类型则可能省略此标记。 #### 示例代码展示 下面是一个典型的 FreeRTOS API 使用案例: ```c // 创建一个任务 TaskHandle_t taskHandle; if( xTaskCreate( vTaskCode, /* Task function */ "MyTask", /* Name of the task as a string */ configMINIMAL_STACK_SIZE,/* Stack size in words */ NULL, /* Parameter passed into the task */ tskIDLE_PRIORITY, /* Priority at which the task is created */ &taskHandle ) != pdPASS ) { // 错误处理... } ``` 上述例子展示了如何利用 FreeRTOS 提供的标准接口来初始化新线程,并验证是否成功完成配置过程[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值