函数中的动词选取¶
选取原则1 避免滥用通用单词
- 案例1:万能的Get
GetTotalAmount();
获取属性?
获取本地存储内容?
获取网络内容?
获取数据库内容?
获取计算后的内容?
......
- 案例2:万能的Add
AddCharacter();
添加到头部?
添加到尾部?
从中间插入字符?
问题:
通用单词可以在很多场景下命名,但不能区分具体函数职责。
当函数本身的实现途径不同时,难以从函数名得到足够的信息。
函数命名动词大全指南¶
创建/销毁¶
| 动词 | 用途 | 示例 |
|---|---|---|
| Create | 创建实例,常用于实例化方法和工厂方法的命名 | CreateInstance |
| Initialize | 初始化实例的属性和设置,Initialize本身也可作为类方法用来初始化 | InitializeInstance,Initialize |
| Load | 加载配置,根据配置创建内容 | LoadFromConfig |
| Destroy | 销毁实例,常用语析构方法 | DestroyInstance |
| Uninitialize | 清理实例的属性和设置,通常和Initialize对应 | UninitializeInstance,Uninitialize |
获取/设置¶
| 动词 | 用途 | 示例 |
|---|---|---|
| Get | 常用于取属性的类方法命名,也可作为通用获取方法命名 | GetStartTime |
| Fetch | 通过网络请求获取内容 | FetchAllUsers |
| Calculate | 通过计算获取内容 | CalculateTotalAmount |
| Read | 读取(多用于文件,配置等) | ReadFile,ReadConfig |
| Query | 查询 | QueryRemainingAmount |
| Find | 查找(多用于数据库,集合等),和search相似 | FindOrder |
| Receive | 接收(多用于文件,消息等) | ReceiveNewMessage |
| Pull | 拉取 | PullLastestSourceCode |
| Set | 常用于设置属性的类方法命名,也可作为通用设置方法命名 | SetStartTime |
| Write | 写入(文件/配置等) | WriteFile,WriteConfig |
| Put | 放入 | PutUserWithId |
| Push | 存入,推送(通知) | PushNotification |
更新¶
| 动词 | 用途 | 示例 |
|---|---|---|
| Reset | 强调重置(标记,状态) | ResetTimer |
| Refresh | 用于命名刷新(多用于页面,缓存等) | RefreshCurrentPage |
| Update | 更新(多用于配置,状态等) | UpdateUserSetting |
添加/移除¶
| 动词 | 用途 | 示例 |
|---|---|---|
| Add | 用于通用添加方法命名 | AddNewStudent |
| Append | 强调在尾部添加(追加) | AppendCharacter |
| Insert | 强调插入(可以在任意位置) | InsertCharacter |
| Delete | 表示删除,和Remove相近 | DeleteDirectory |
| Remove | 表示移除,和Delete相近 | RemoveInvalidDeals |
启动/停止¶
| 动词 | 用途 | 示例 |
|---|---|---|
| Open | 开启(多用于开启状态,打开文件等) | OpenEnhanceMode |
| Start | 开始(强调开始某个流程) | StartPortListening |
| Launch | 发动/启动(多用于启动程序,服务) | LaunchAssistService |
| Close | 关闭(多用于关闭状态,关闭文件等) | CloseEnhanceMode |
| Stop | 停止(强调流程的终止) | StopPortListening |
| Pause | 暂停(强调流程的暂停,有可能后续会继续开启) | PausePageLoading |
| Finish | 完成(强调流程的完成) | FinishRequesting |
集合类型相关数据处理¶
| 动词 | 用途 | 示例 |
|---|---|---|
| Filter | 过滤,筛选(强调按照某些条件) | FilterByName |
| Merge | 合并(有时会带上合并规则) | MergeTwoConfig |
| Concat | 拼接(直接在结尾添加) | ConcatToArray |
| Split | 分割 | SplitInput |
| Deduplicate | 去重(去重完全相同的项) | DeduplicateList |
| Reverse | 颠倒,反向排列 | ReverseRecord |
| Sort | 排序(有时会带上排序规则) | SortDealsByAmount |
| Fill | 填充(一般会进行覆盖) | FillAmountList |
通用业务数据处理¶
| 动词 | 用途 | 示例 |
|---|---|---|
| Parse | 解析(解析成某些格式,解析提取某些内容) | ParseFromJson,ParseResult |
| Analyse | 分析(不一定能通过简单的方式获取) | AnalyseLocation |
| Convert | 类型转换(通常用于从一个类型转换到另一种类型) | ConvertToString |
| Format | 格式化数据 | FormatToLocaleString |
| Validate | 合法性/有效性的校验 | ValidateUserInputs |
| Ensure | 期待值的校验 | EnsureUserAge |
| Compose | 组成(一般由多项内容组成一个结果) | ComposeMessage |
| Encode | 编码(依赖约定的编码格式) | EncodeUrl |
| Decode | 解码(依赖约定的解码格式) | DecodeUrl |
| Encrypt | 数据加密(依赖约定的加密算法) | EncryptContent |
| Decrypt | 数据解密(依赖约定的解密算法) | DecryptContent |
| Backup | 备份(需要注意拷贝方式,避免误导) | BackupUserSettings |
| Restore | 恢复 | RestoreUserSettings |
| Import | 导入(通常用于按照特定格式的文件转换) | ImportFromFile |
| Export | 导出(通常用于转换成特定格式的文件) | ExportToFile |
| Compress | 压缩(依赖约定的算法) | CompressOversizedFile |
| Decompress | 解压缩(依赖约定的算法) | DecompressOversizedFile |
Last update:
March 9, 2024
Created: March 9, 2024
Created: March 9, 2024