[请益] 变量命名技巧

楼主: wplace (wplace)   2020-06-14 21:47:49
想请益变量命名有什么技巧吗,有时候遇到多个单字在一起的变量或method
都不太会命名,我大部分都打上完整的单字,不过都会变得满长的
如果想要缩写,又怕缩写写不好到时候别人或者自己回过来看还看不出来
还是缩写有什么技巧
还请各位前辈提点
作者: Handsomeshen (洗澡是肮脏人的事)   2020-06-14 21:50:00
省略元音?
作者: adks3489 (James)   2020-06-14 21:50:00
作者: zeroshine (rain)   2020-06-14 21:53:00
举个例子?
作者: moom50302 (武林三羚鳄)   2020-06-14 22:00:00
有些单字其实可以缩写;驼峰式命名和加底线的方式,都可以让参数比较直观
作者: cuteSquirrel (松鼠)   2020-06-14 22:10:00
getFwVersionByXXX
作者: donby (东逼)   2020-06-14 22:21:00
GetFwVerByXXX
作者: spfy (spfy)   2020-06-14 22:25:00
闻香一下 以前26同事取的 https://i.imgur.com/QdO4bqq.png
作者: Masakiad (Masaki)   2020-06-14 22:25:00
老实说method完全不建议缩写,除了公认的缩写有一点机会可以使用外,建议还是宁愿过长而不要造成看不懂或跟其他单字的混淆机会
作者: brianwu1201 (bunny29)   2020-06-14 22:27:00
过长没关系+1,看得懂比较重要。
作者: Masakiad (Masaki)   2020-06-14 22:27:00
如果推文的举例,更多时候会像这样实现:Framework.getVersionByXXXX(...)
作者: kvjo (同名专辑)   2020-06-14 22:28:00
建议分区加底线 如果你驼峰到底 你就知道痛苦...通常会很长 都是后面 condition的缘故 前面用途应该是大类method很长 满常遇到的 因为条件不同的很多 但用途又类似
作者: Masakiad (Masaki)   2020-06-14 22:29:00
又或是getInfoByXXXX().framework过长就善用Struct的作法
作者: Nitricacid (硝酸酸)   2020-06-14 23:23:00
一堆ByXXX 应该是可以包成 class 的吧 单字缩写谁知道你的缩写是不是其他人的缩写
作者: GLaDOS1105 (HAHAHA)   2020-06-14 23:34:00
拜托不要乱缩写
作者: tttkkk (学到。)   2020-06-14 23:58:00
1. 缩写要有限度 别缩过头 2. 不要怕变量名称太长加底线是 Python idiomatic.. 有时你拿底线的变量名称给Java developer 看 他们其实也不习惯 重点是全文要统一使用同一种命名方式
作者: a8989332 (天创)   2020-06-15 00:04:00
Clean Code:
作者: bill0205 (善良的小孩没人爱)   2020-06-15 00:07:00
不要只缩到只剩头就好…看了就头痛
作者: new122851 (未若柳絮因风起)   2020-06-15 00:46:00
安卓resources只能小写英文和0-9
作者: benedict76 (ben)   2020-06-15 01:23:00
method不要缩,method取得好里面变量缩写就行,一般人应该都看得懂
作者: Vitaceae (Vit)   2020-06-15 01:27:00
一个方法60个字符,根本阅读毒药以前骂缩过头,现在一堆长过头的
作者: t64141 (榕树)   2020-06-15 01:28:00
如果XXX是参数可以省略byXXX,但得视情况,不是很通用就
作者: Ghamu (猫丸)   2020-06-15 02:27:00
我都会上网查一下那个单字的公定缩写abbreviation 是啥宁可长 不要短看不懂长的被看懂未来还有可被英文好的人refactor 自己没照英文正确的缩写乱缩 以后真的只能靠通灵才知道意思了我写的缩写有些比较少用的 我还会再后面注解一下缩写是啥最近回去看半年前自己写的code 因为有正确命名与注解 3分钟就找到该找的地方 感到骄傲反观新公司中国外包的干你娘程式码 命名常数int HOST 跟HOST_ 干你妈两个值还存不一样的 真的很想杀人可怕的是我HOST 常数之前已经使用一堆了 冷汗直流
作者: harry830622 (harry830622)   2020-06-15 03:38:00
https://github.com/harry830622/awesome-abbreviations之前跟同事讨论过业界较通用的缩写欢迎大家参考 也欢迎发PR补充XD
作者: steve1012 (steve)   2020-06-15 04:10:00
不要缩写
作者: wulouise (在线上!=在电脑前)   2020-06-15 06:21:00
如果你有引数,那个by后面的通常可以省略
作者: Darkword1987 (黑字)   2020-06-15 06:59:00
变量名称长点会怎样吗
作者: lion741205 (狮子)   2020-06-15 07:33:00
也可以参考一下我的心得 lionethan.com/2019/08/%e7http://www.lionethan.com/2019/08/%e7
作者: azureroki (Roki)   2020-06-15 08:11:00
对英文不熟悉的看到超长变量很烦躁
作者: GinginDenSha (gingin)   2020-06-15 08:19:00
另一个思路是 byXXX 这种程式可以改写成 Factory Method 或 Strategy 可以省下取名的困扰,又保持程式的扩充性
作者: Csongs (西歌)   2020-06-15 09:03:00
个人最讨厌的就是英文乱缩写
作者: vi000246 (Vi)   2020-06-15 09:19:00
EbiIwnTuSnpdNfToUiOmf();
作者: yyc1217 (somo)   2020-06-15 10:02:00
by(XXX xxx)呢不然原来的例子算OK吧 很好懂呀
作者: alihue (wanda wanda)   2020-06-15 10:04:00
By 省掉,可以看参数知道。此外应该选可读性高的字体,长度不是问题,看不懂命名才是问题
作者: james732 (好人超)   2020-06-15 10:24:00
我觉得长度没什么问题之前看过会缩成GFVBX这种恐怖的缩写
作者: x000032001 (版废了该走了)   2020-06-15 10:37:00
XXX().Get().Firmware().Version()
作者: casd82 (28dsac)   2020-06-15 11:02:00
看语言吧 像Swift几乎都不缩写 cocoa api一堆20-30字母的method Go的话很多api就一堆缩写
作者: v7q4 ((.)(.)乳剑双修 -|=>)   2020-06-15 11:10:00
曾经跟对岸工程师合作 他写一个method叫getNBvalue()我一直不懂什么NB? 笔电吗? 还是什么特殊单字的缩写??后来问他才知道 NB=牛逼 ....
作者: cuteSquirrel (松鼠)   2020-06-15 11:13:00
XDDDDDDDDDDDDDDDDDD 太牛啦
作者: alihue (wanda wanda)   2020-06-15 11:39:00
getSBValue()
作者: wangk13579 (Gboo)   2020-06-15 12:05:00
这样看起来 那位对岸人士也没什么问题 取的真牛XDD
作者: chuegou (chuegou)   2020-06-15 12:45:00
getSBvalue
作者: WTFCN (WTFCN)   2020-06-15 12:57:00
getNMSLvalue()
作者: jobintan (Robin Artemstein)   2020-06-15 13:07:00
我都打全名,用简写的会被误判。例:creditCardInformation()之类的。
作者: shooter555 (shooter)   2020-06-15 14:14:00
名称过长会不会是需要在切一层结构的警示呢
作者: thibw13ug1 (KGMR0792)   2020-06-15 16:09:00
最好是驼峰跟底线两种一起混用,然后避开passwordaccount login之类的单字,因为弱扫软件会不管三七二十一直接判为弱点
作者: enthos (影斯作业系统)   2020-06-15 16:24:00
[email protected] fwver! /* FORTH get and set */
作者: NTULioner (LionsHeart)   2020-06-15 17:45:00
abcdefghihklmn...用完一轮就 aa ab ac ad
作者: james732 (好人超)   2020-06-15 17:46:00
写牛逼的我会打死他 XDDD
作者: roccqqck (ccqq)   2020-06-15 18:14:00
用没看过缩写真的很靠北
作者: askaleroux (FalconTW)   2020-06-15 18:14:00
getCNMValue(0
作者: roccqqck (ccqq)   2020-06-15 18:16:00
写log也不要用缩写
作者: wulouise (在线上!=在电脑前)   2020-06-15 18:39:00
我不写log4都写2
作者: jinmin88 (昼伏夜出)   2020-06-15 19:38:00
最好
作者: Ghamu (猫丸)   2020-06-16 02:30:00
getNBValue XDDDD
作者: jobintan (Robin Artemstein)   2020-06-16 08:07:00
JS我用驼峰,Python用底线,CSS用减号。
作者: ChungLi5566 (中坜56哥)   2020-06-16 08:59:00
长就给他长啊 缩到看不懂跟aaa bbb有啥差
作者: jobintan (Robin Artemstein)   2020-06-16 11:05:00
aaabbb的真的是灾难,有时候用日文Romaji与内地的汉语拼音搞的命名都好多了。
作者: ShenJing (ShenJing)   2020-06-17 10:27:00
感谢2楼,推影片
作者: b85040312 (万年newman)   2020-06-20 00:41:00
用 aaa bbb 即可,反正 minify 之后也是差不多的
作者: greenx   2020-06-20 12:03:00
只用大家看得懂的缩写,不然宁愿完整写清楚

Links booklink

Contact Us: admin [ a t ] ucptt.com