news 2026/6/12 8:21:14

常用函数名命名总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
常用函数名命名总结

一、基础算法函数

1. 比较类

  • cmp()- 比较(Compare)

  • less()- 小于比较

  • greater()- 大于比较

  • equal()- 相等比较

  • compareTo()- 比较(返回-1,0,1)

2. 数学类

  • gcd()- 最大公约数

  • lcm()- 最小公倍数

  • factorial()- 阶乘

  • fibonacci()- 斐波那契

  • isPrime()- 判断质数

  • primeFactors()- 质因数分解

二、数据处理函数

1. 数组/列表

  • sum()- 求和

  • average()/mean()- 平均值

  • median()- 中位数

  • mode()- 众数

  • prefixSum()- 前缀和

  • suffixSum()- 后缀和

  • difference()- 差分

2. 统计类

  • count()- 计数

  • freq()- 频率统计

  • histogram()- 直方图

  • variance()- 方差

  • std()- 标准差

三、搜索查找函数

1. 基础查找

  • find()- 查找

  • search()- 搜索

  • locate()- 定位

  • indexOf()- 索引位置

  • contains()- 是否包含

  • exists()- 是否存在

2. 特殊查找

  • findFirst()- 查找第一个

  • findLast()- 查找最后一个

  • findAll()- 查找所有

  • findIf()- 条件查找

  • searchRange()- 搜索范围

四、排序相关函数

1. 基础排序

  • sort()- 排序

  • sorted()- 返回排序副本

  • reverse()- 反转

  • shuffle()- 随机打乱

  • rotate()- 旋转

2. 特殊排序

  • merge()- 合并

  • partition()- 分区

  • quickSelect()- 快速选择

  • nthElement()- 第n个元素

五、字符串处理函数

1. 基础操作

  • substr()- 子串

  • substring()- 子串

  • slice()- 切片

  • split()- 分割

  • join()- 连接

  • concat()- 连接

  • strip()/trim()- 去除空格

2. 匹配判断

  • match()- 匹配

  • matches()- 是否匹配

  • startsWith()- 以...开始

  • endsWith()- 以...结束

  • contains()- 包含

  • find()- 查找

六、数学计算函数

1. 几何计算

  • distance()- 距离

  • dot()- 点积

  • cross()- 叉积

  • area()- 面积

  • perimeter()- 周长

  • volume()- 体积

2. 数值计算

  • round()- 四舍五入

  • floor()- 向下取整

  • ceil()- 向上取整

  • trunc()- 截断

  • mod()- 取模

  • pow()- 幂运算

  • sqrt()- 平方根

  • log()- 对数

  • exp()- 指数

七、图论算法函数

1. 基础图算法

  • dfs()- 深度优先搜索

  • bfs()- 广度优先搜索

  • topologicalSort()- 拓扑排序

  • dijkstra()- 最短路径

  • floyd()- 全源最短路径

  • bellmanFord()- 贝尔曼-福特算法

  • kruskal()- 最小生成树

  • prim()- 普里姆算法

2. 网络流

  • fordFulkerson()- 最大流

  • edmondsKarp()- 最大流

  • dinic()- 最大流

  • minCostMaxFlow()- 最小费用最大流

八、数据结构操作函数

1. 树相关

  • traverse()- 遍历

  • preorder()- 前序遍历

  • inorder()- 中序遍历

  • postorder()- 后序遍历

  • levelOrder()- 层序遍历

  • insert()- 插入节点

  • delete()- 删除节点

  • search()- 查找节点

  • height()- 树高

  • depth()- 深度

  • size()- 节点数

2. 堆/优先队列

  • push()- 入堆

  • pop()- 出堆

  • top()- 获取堆顶

  • heapify()- 堆化

  • buildHeap()- 建堆

九、动态规划函数

1. 基础DP

  • dp()- 动态规划

  • memo()- 记忆化

  • recur()- 递归

  • solve()- 求解

2. 状态转移

  • transfer()- 状态转移

  • update()- 更新状态

  • init()- 初始化状态

  • calc()- 计算状态

十、实用工具函数

1. 日期时间

  • now()- 当前时间

  • date()- 日期

  • time()- 时间

  • datetime()- 日期时间

  • timestamp()- 时间戳

  • sleep()- 睡眠

  • delay()- 延迟

2. 文件IO

  • read()- 读取

  • write()- 写入

  • open()- 打开

  • close()- 关闭

  • seek()- 定位

  • tell()- 当前位置

  • flush()- 刷新缓冲区

十一、命名规范模板

1. 动词+名词

calculateSum() // 计算和 findMinimum() // 查找最小值 sortArray() // 排序数组 checkPrime() // 检查质数 solveEquation() // 解方程 traverseTree() // 遍历树

2. 动词+介词+名词

searchInArray() // 在数组中搜索 sortByValue() // 按值排序 findFromList() // 从列表中查找 convertToString() // 转换为字符串

3. 形容词+名词

isValid() // 是否有效 hasCycle() // 是否有环 canReach() // 是否能到达 shouldUpdate() // 是否应更新

十二、算法竞赛常用函数

1. 基础工具

  • readInt()- 读整数

  • readString()- 读字符串

  • print()- 输出

  • println()- 输出并换行

  • debug()- 调试输出

2. 算法实现

  • solve()- 解题函数

  • main()- 主函数

  • init()- 初始化

  • preprocess()- 预处理

  • compute()- 计算

十三、实际场景示例

排序问题

bool cmp(pair<int, int> a, pair<int, int> b) { if(a.first != b.first) return a.first < b.first; // 第一关键字升序 return a.second > b.second; // 第二关键字降序 } vector<pair<int, int>> data = {{1,2}, {3,4}, {1,3}}; sort(data.begin(), data.end(), cmp);

图论问题

vector<int> dijkstra(int start, vector<vector<pair<int, int>>>& graph) { int n = graph.size(); vector<int> dist(n, INF); priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> pq; dist[start] = 0; pq.push({0, start}); while(!pq.empty()) { auto [d, u] = pq.top(); pq.pop(); if(d > dist[u]) continue; for(auto [v, w] : graph[u]) { if(dist[v] > dist[u] + w) { dist[v] = dist[u] + w; pq.push({dist[v], v}); } } } return dist; }

命名建议总结:

  1. 使用英文单词,不要用拼音

  2. 动词开头,表示动作

  3. 清晰明确,一看就知道功能

  4. 保持一致性,相似功能用相似命名

  5. 遵循惯例,使用大家公认的名字

常见命名模式

  • 判断:isXXX(),hasXXX(),canXXX()

  • 获取:getXXX(),findXXX(),searchXXX()

  • 修改:setXXX(),updateXXX(),modifyXXX()

  • 创建:createXXX(),buildXXX(),makeXXX()

  • 删除:removeXXX(),deleteXXX(),clearXXX()

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/12 3:37:23

胡维勤教授鼎力支持杨彦伟博士,推动中医与生物医学融合创新

近日&#xff0c;我国著名红墙御医胡维勤教授公开力鼎生物医学专家杨彦伟博士&#xff0c;共同致力于传承国医圣手精深医道&#xff0c;弘扬历久弥新的中医精神&#xff0c;并积极探索与前沿生物医学的深度结合&#xff0c;旨在为广大人民群众的健康事业开辟更为广阔、坚实的道…

作者头像 李华
网站建设 2026/6/10 9:47:20

别再手动清洗星载数据了!Open-AutoGLM一键自动化方案已上线

第一章&#xff1a;别再手动清洗星载数据了&#xff01;Open-AutoGLM的革命性突破在遥感与空间科学领域&#xff0c;星载传感器每天产生海量多光谱、高光谱和雷达数据。传统数据清洗流程依赖人工规则与脚本拼接&#xff0c;耗时长、容错率低&#xff0c;严重制约了实时监测与智…

作者头像 李华
网站建设 2026/6/9 23:43:33

EMC整改 CE传导发射超标:从定位到验证的实战指南

在EMC实验室里&#xff0c;当LISN&#xff08;线路阻抗稳定网络&#xff09;接上传导接收机&#xff0c;频谱仪上的曲线一次次越过那条红色限值线&#xff0c;当测试报告上"FAIL"印章鲜红刺眼&#xff0c;每个电源工程师都会感同身受那种无力感。CE&#xff08;Condu…

作者头像 李华
网站建设 2026/6/12 2:13:30

Open-AutoGLM如何重塑深海探测?:协同控制系统背后的AI引擎解析

第一章&#xff1a;Open-AutoGLM 深海探测协同控制在深海探测任务中&#xff0c;Open-AutoGLM 作为新一代自主协同控制系统&#xff0c;实现了多智能体之间的高效感知、决策与执行闭环。该系统融合了大语言模型的推理能力与自动化控制逻辑&#xff0c;能够在复杂水下环境中动态…

作者头像 李华
网站建设 2026/6/10 14:34:13

【专家亲授】Open-AutoGLM部署避坑指南:20年经验总结的6大核心要点

第一章&#xff1a;Open-AutoGLM跨境贸易自动化的战略价值在数字经济全球化加速的背景下&#xff0c;跨境贸易面临流程复杂、合规要求高、响应周期长等挑战。Open-AutoGLM 作为基于开源大语言模型的自动化智能引擎&#xff0c;为跨境贸易提供了端到端的认知自动化解决方案&…

作者头像 李华