有时候写一个函数
函数逻辑都想好了
但名字还没想出来
手放在键盘上, 无从下手, 有点急躁
毕竟知道, 名字也不能瞎凑合, 虽然现在 ide 改名字也不是什么难事
难经常还是要为想名字耽误下
我现在简单遵循几个原则
暂时先想到这么多, 大家可以讨论补充下
|      11map      2023-09-10 16:55:43 +08:00 用 chatgpt 试试 | 
|  |      2xiaoz      2023-09-10 17:13:02 +08:00 via Android  1 为此,我用 AI 写了一个工具,每次我告诉他中文,自动给我 3 个变量作为参考。见 https://asbot.imgurl.ink/userole/17 | 
|      3lsry      2023-09-10 17:30:53 +08:00 | 
|  |      4archxm      2023-09-10 17:40:38 +08:00 主要是要避讳,不要和长辈已有的字重合。 其他都好说,选来选去的 | 
|  |      7MFWT      2023-09-10 17:49:26 +08:00  1 我一般是: isAdmin isUserLogined getSomething setSomething 总结起来是:is/get/set/have/can 等 + 驼峰命名法的对象名 举例就是,比如我需要一个获取用户订单号的函数,我会写:getUserOrderNumber ,尽量写明白,避免日后麻烦 | 
|  |      8chanwang      2023-09-10 18:16:49 +08:00 via Android 找个算命的算一下缺什么,然后确定偏旁部首。再凑个好听一点的,满足您期望的文字。或者先给暂定字母,等娃要上学了再改。或者干脆搞个字典,让娃自己翻,翻两页凑俩字得了。 | 
|      9taotaodaddy      2023-09-10 19:13:15 +08:00 这个难题真的已经被 chatGPT 解决了 | 
|  |      10hsfzxjy      2023-09-10 19:14:54 +08:00 via Android 让我看看楼里有几个人不看正文🤣🤣🤣 | 
|  |      11des      2023-09-10 19:15:19 +08:00  1 要不试试这个,看看别人都是怎么命名的 https://i18ns.com | 
|      12stephniebuewke      2023-09-10 19:33:23 +08:00 这是一个开源的利用古诗文起名的项目 https://github.com/holynova/gushi_namer | 
|  |      13anoninz      2023-09-10 19:39:37 +08:00 如果是个人项目,可以试试用中文命名变量和函数名。 对于公司项目/多人协作的项目,反正我所在的公司现在对于枚举值已经可以接受中文命名了。。。 | 
|  |      15yaott2020      2023-09-10 19:44:29 +08:00 via Android #4 #8 #12 不看正文🤣 | 
|  |      16kingjpa      2023-09-10 19:47:40 +08:00 a1 a2 a3 a4 a5 isno isyes  noyes  nook  isok ,咋拗口咋来 | 
|  |      17chanwang      2023-09-10 19:49:53 +08:00 via Android @yaott2020 通常只看标题🌚。 更加建议取个更好一点的标题参照新闻的标题。看完标题就知道想说什么……(死鸭子嘴硬) | 
|  |      18xavierchow      2023-09-10 22:19:21 +08:00  2 > 函数逻辑都想好了 > 但名字还没想出来 提供一个思路,我个人比较喜欢 top-down 的方式去写函数,而不是先去想逻辑。 即,先试图用一句话去描述这个函数是干什么的,可以不要管怎么实现( how ), 最好能在概括的时候思考一下函数的输入输出,只要你一句短语说的清楚的话,名字也就容易起了。 如果先去想逻辑和具体实现的话,很容易形成一个局面,就是你最后定义函数是为了包装一堆可能 原本不该在一个维度的逻辑代码,这时候取名字就很难了。 换句话说,发现函数难以起名的时候,可能要思考一下是不是应该转换一下思路,做一下拆解或者合并; 至于命名风格问题,各个语言和框架都有行业上比较成熟的惯例,加上 lint 就可以了。 | 
|  |      19yafoo      2023-09-10 22:25:05 +08:00 via Android  1 以为给孩子取名呢。为了给孩子取名,焦虑了半年多 | 
|      20hefish      2023-09-10 22:25:10 +08:00 《代码大全》上有推荐,采用动宾结构, get_XXX, make_XXX, check_XXX ,load_XXX ,fuck_XXX .... | 
|  |      21followNew      2023-09-10 23:18:19 +08:00 via iPhone 以函数的结果为导向,命名一个动宾短语。 doSomething | 
|      22kneo      2023-09-11 00:22:00 +08:00 via Android 取名=>命名 | 
|      25AkiraZhao      2023-09-11 02:40:11 +08:00 via Android 正好你可以看看 Stripe 的前 CEO 是如何起 Stripe 这个名字的: https://www.quora.com/How-did-Stripe-come-up-with-its-name/answer/Greg-Brockman | 
|  |      26leimao      2023-09-11 02:41:50 +08:00 via iPhone 老外就没这烦恼,直接圣经里找 | 
|  |      27xiamy1314      2023-09-11 08:26:46 +08:00 各聊各的。 | 
|  |      28xiaoz      2023-09-11 08:52:38 +08:00 via Android @vhwwls #23 ,是的,需要注册才能使用。我只是提供一个思路,其实可以自己用 AI 的 API 自己写个工具就行了。 | 
|  |      29yxzblue      2023-09-11 08:54:56 +08:00 取名字是最难的事,那干脆别写逻辑了。光想怎么取名吧 | 
|      30Befehishaber      2023-09-11 09:23:31 +08:00 女诗经  男楚辞 | 
|  |      31corcre      2023-09-11 09:27:31 +08:00 我也碰到过, 我们乱七八糟的数据每个系统都存一份, 不说明系统的话还要翻代码看看数据从哪里过来的, 然后不加上点条件还容易重复, 最后取数的时候就有可能变成一长串(getXXXDataFromERPBySOAndPartNo)之类的... | 
|  |      32encro      2023-09-11 09:34:42 +08:00 | 
|  |      33encro      2023-09-11 09:35:33 +08:00 这东西,最快的方法就是学习国外同类项目优秀的源码和数据库设计。 | 
|      34v23xowen      2023-09-11 09:43:30 +08:00 跨服聊天是吧 | 
|  |      35Tengdw      2023-09-11 09:44:35 +08:00 看看有多少人是看到帖子标题点进来不看正文直接回复的 | 
|  |      36dif      2023-09-11 09:50:29 +08:00 随便区,有个关键字知道是干啥的都行,你敢信我都见过 name 也要缩写为 nme 。 | 
|  |      37ruoxie      2023-09-11 09:51:49 +08:00 chatgpt 啊 { "filters": [ { "component": "input", "key": "决算单状态", "label": "决算单状态", "placeholder": "请选择" }, { "component": "input", "key": "主合同编号", "label": "主合同编号", "placeholder": "请输入" }, { "component": "input", "key": "客户名称", "label": "客户名称", "placeholder": "请输入" }, { "component": "input", "key": "客户手机号", "label": "客户手机号", "placeholder": "请输入" }, { "component": "input", "key": "工程管理", "label": "工程管理", "placeholder": "请输入" } ], "columns": [ { "slot": false, "title": "决算单状态", "dataIndex": "决算单状态", "key": "决算单状态" }, { "slot": false, "title": "主合同编号", "dataIndex": "主合同编号", "key": "主合同编号" }, { "slot": false, "title": "客户名称", "dataIndex": "客户名称", "key": "客户名称" }, { "slot": false, "title": "客户手机号", "dataIndex": "客户手机号", "key": "客户手机号" }, { "slot": false, "title": "房屋地址", "dataIndex": "房屋地址", "key": "房屋地址" }, { "slot": false, "title": "工程管理", "dataIndex": "工程管理", "key": "工程管理" } ], "pagination": { "show": true, "page": "page", "size": "size", "total": "result.total" }, "includeModifyModal": false, "fetchName": "fetchTableList", "result": "[\"result\"][\"records\"]", "serviceName": "getTableList" } | 
|  |      38ruoxie      2023-09-11 09:52:10 +08:00 处理后 { "filters": [ { "component": "input", "key": "finalStatementStatus", "label": "决算单状态", "placeholder": "请选择" }, { "component": "input", "key": "mainContractNo", "label": "主合同编号", "placeholder": "请输入" }, { "component": "input", "key": "customerName", "label": "客户名称", "placeholder": "请输入" }, { "component": "input", "key": "customerMobile", "label": "客户手机号", "placeholder": "请输入" }, { "component": "input", "key": "projectManagement", "label": "工程管理", "placeholder": "请输入" } ], "columns": [ { "slot": false, "title": "决算单状态", "dataIndex": "finalStatementStatus", "key": "finalStatementStatus" }, { "slot": false, "title": "主合同编号", "dataIndex": "mainContractNo", "key": "mainContractNo" }, { "slot": false, "title": "客户名称", "dataIndex": "customerName", "key": "customerName" }, { "slot": false, "title": "客户手机号", "dataIndex": "customerMobile", "key": "customerMobile" }, { "slot": false, "title": "房屋地址", "dataIndex": "houseAddress", "key": "houseAddress" }, { "slot": false, "title": "工程管理", "dataIndex": "projectManagement", "key": "projectManagement" } ], "pagination": { "show": true, "page": "page", "size": "size", "total": "result.total" }, "includeModifyModal": false, "fetchName": "fetchTableList", "result": "[\"result\"][\"records\"]", "serviceName": "getTableList" } | 
|  |      39dynastysea      2023-09-11 10:11:53 +08:00 好听,易记,好写就行了。。有些家长装 13 ,给孩子取了巨复杂的名字,又是生僻字,又是复杂笔画,百害而无一利 | 
|  |      40imsoso      2023-09-11 10:12:43 +08:00 哈哈,我就看看 v2 有多少是有娃的 | 
|  |      41imsoso      2023-09-11 10:12:56 +08:00 只看标题就回复 | 
|  |      42weilongs      2023-09-11 10:16:18 +08:00 起名字这事,按照公司规定套路避免重复、尽量说明白就好了。实在不行就 AI 给帮你吧。 | 
|  |      44itechnology      2023-09-11 10:19:48 +08:00 #4 #8 #12 #30 是只看了个标题就来回复吧 | 
|  |      45zhuisui      2023-09-11 10:22:33 +08:00  2 起名,不给是给变量、函数还是类、模块,这件事背后反映的,是你对这里业务的了解程度和抽象程度。这是上面回答几乎所有都没有提到的部分。 除了有个提到用 top-down 的方式去起名,这代表的是面向领域(业务)的解决方案编程(起名),是在难以做到面向领域编程时的最优选择。 跨越这一步之后,剩下的就是用中文来生成英文了。这里的问题是,翻译会给出一些近义词,英语不好的话,就会选到含义其实不合适的词。 比如简单的例子,declaration 和 definition ,work 、job 、task ,time 、duration 、date 、period ,size 、count 、amount 、length 之类的 最后才是命名风格的问题,驼峰还是下划线,无所谓,这步是最细枝末节的事情。 | 
|      46jatsz      2023-09-11 10:28:13 +08:00  2 我的经验是:以目标命令,而不是以实现命名。 启发点是:我给公司写的一个 CI 监控和部署,我就起了 CIMonitor ,通过来监控 CI 来实现自动部署。 后来一个同事指出其实这个 CIMonitor 真正的目的是部署,所以不如叫做 deployer 。 从这个点,让我意识到,名字要传达目的,而不是实现(做法)。 | 
|      47zackzergzeng      2023-09-11 10:32:20 +08:00 github copilot 会补全名字的,有会员可以试下 | 
|      48chenzw2      2023-09-11 11:07:53 +08:00 | 
|      50jatsz      2023-09-11 12:05:30 +08:00 在补充一下,以目标命名的好处。 - 传达目的,这个通常是稳定的抽象,避免 X-Y 问题。 - 给自己的实现带来灵活性,修改实现的时候不必修改名字。 | 
|  |      53MoYi123      2023-09-11 15:16:23 +08:00 说明你的函数逻辑不清楚 ,需要用很长一段话才能说清楚在干什么, 建议重写. | 
|  |      55pq2Q3XZidsTF906J      2023-09-11 15:54:45 +08:00 via Android 有一本书叫[代码大全]大部分程序员常见问题都有说明,推荐看看,很有用 | 
|  |      56Qiss      2023-09-11 16:03:08 +08:00 确实,我家要不是祖先托梦,我想不出起啥名字 | 
|  |      57allanpk716      2023-09-11 18:23:57 +08:00 via iPhone 计算生辰八字五行属性的算法,非原创,只是用 C 艹 实现。我不迷信,但是给娃取名的时候我也用来玩了。https://github.com/allanpk716/BaziEval |