news 2026/5/13 12:55:11

常用函数名命名总结

作者头像

张小明

前端开发工程师

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/5/11 3:39:32

对这5个点无感,你可能不适合做测试开发

自从上次说测开和性能测试上半年薪资呈上升趋势&#xff0c;就有不少人对这些岗位感兴趣。 很多人面试的时候也会被问到这几个职位的区别&#xff0c;然后有测试经历或者说有系统学习过测试的人蛮少的 我在这里做一个小小的总结&#xff0c;希望迷茫中的朋友有所收获&#xf…

作者头像 李华
网站建设 2026/5/11 3:38:42

计算机毕业设计springboot企业产供销系统设计与实现 基于 Spring Boot 的企业生产、供应与销售一体化管理系统设计与开发 Spring Boot 架构下企业产供销协同管理平台的构建与实

计算机毕业设计springboot企业产供销系统设计与实现10h7m9 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。 随着互联网技术的飞速发展&#xff0c;企业对高效、便捷的管理系统的…

作者头像 李华
网站建设 2026/5/11 3:39:21

【WDL】8. 实践:本地/集群运行

WDL可以使用本地、集群、云端三种模式来跑流程&#xff0c;本地运行是不需要服务器后台配置文件&#xff0c;而另外两种需要配置文件。 本地运行 下载cromwell和womtool到本地服务器&#xff0c;地址&#xff1a;https://github.com/broadinstitute/cromwell/releases 不建议…

作者头像 李华