变量名起名缩写的习惯

2017 年 9 月 15 日
 Joyreece
算是个日经话题吧,请问前辈们,你们在起变量名的时候会把 View Controller 所写成 VC (例如:resetPasswordVC = xxx )、Text Field 所写成 TF (例如:articleTitleTF = xxx )的这种形式么?

我纠结的在于想保持代码的可读性和简洁干净,但是在实例化一些类的时候起名有的时候犹豫不决是写成 VC 这种缩写还是写全了。参考过原声 SDK 一些头文件露出来的方法,看苹果也是有的直接写成 viewController 也有是 vc。

所以想看看哪种风格更好一些呢?
11406 次点击
所在节点    iDev
37 条回复
lazypu
2017 年 9 月 15 日
我是尽量不用缩写, 可读性在我这里排第一位.
Immortal
2017 年 9 月 15 日
能缩就缩 但是不能影响可读 ViewController 缩成 VC 就太过分了...这种情况不如不缩
sudoz
2017 年 9 月 15 日
约定俗成的可以写,我不喜欢太长的变量名或方法名
比如 message -> msg, result -> res,context-> ctx
TuringGooner
2017 年 9 月 15 日
你这缩的都认不出是什么了

缩写不能影响理解
laoyur
2017 年 9 月 15 日
VC 党路过,但对 TF 的缩写感觉无法认同,要缩也是在合理范围内缩。
Vitta
2017 年 9 月 15 日
ViewController 一般我是写 VC, 类的话写 ViewController
textField 个人不写 TF, 每次想写 TF 的时候就老想起来钩子
xiaoc19
2017 年 9 月 15 日
从不缩写,代码写来看的,看起来像读一篇文章的感觉挺好
flyingghost
2017 年 9 月 15 日
开发圈有哪些约定俗成的常见缩写?

req = request
resp = response
res = resource
app = application
auth = authorization/authentication 这点非常不认可,同一个常见缩写居然能代表两个不同的词。
dev = develop
env = environment
db = database
pkg = package
svr = server
i18n = internationalization
cert = certificate
msg = message
addr = address
tmp/temp = temporary
var/def = variable/define 其实 var/def 已经是很多语言的关键字了
calc = calculate/calculation
src = source
dest = destination
min/max = minimum/maximum 应该已经不算了吧。。。
doc = document
dir = directory


foo/bar = 不知道该起什么名字好


未完待续。
noe132
2017 年 9 月 15 日
缩写干嘛。。反正不都是按几个键 tab 一下就出来了,为什么要降低可读性
gclove
2017 年 9 月 15 日
必须缩写啊, 缩写可以提高可读性, 看起来更加简洁

而且, 一般的缩写都是大家约定的, 比如 res, req, resp, db
Joyreece
2017 年 9 月 15 日
看了楼上前辈们的观点,个人决定还是写全了。
之前又顾虑是因为想尽量保持单行不超过 120 个字符,但是某些情况下 ViewController 和 TextField 的变量名字会越来越长,特蛋疼~
newtype0092
2017 年 9 月 15 日
@sudoz 为什么我碰见的都是 ret->result, res->resource ...
linus3389
2017 年 9 月 15 日
缩啥啊,自动补完这么强大....
blackfire
2017 年 9 月 15 日
我一般看变量长度,尽量保持可读性,如果前边的比较长一串才能描述完整,一般会缩写 VC,尽量不去缩写 TF。特别长的都会缩写,如果比较短就不缩写
——是的,我是混着用的。

感觉不降低阅读性,没啥歧义,我是赞成缩写的
Lucups
2017 年 9 月 15 日
缩写是有规则的,据我观察,至少有以下 3 种:

一种是取开头几个(一般是 3、4 个)字母的,如 binary => bin, application => app,resource => res,楼上有很多例子
一种是去掉元音字母的,如 source => src, message => msg, text => txt 等等
还有一些是约定俗成的,如 internationalization => i18n, database => db 等等

感谢 @flyingghost 提供的例子~

欢迎补充~
RorschachZZZ
2017 年 9 月 15 日
很少缩写。看懂为主,简洁为辅。
cigarzh
2017 年 9 月 15 日
viewCtrl
fy
2017 年 9 月 15 日
@sudoz result -> ret 这才是约定俗成吧
AngelCriss
2017 年 9 月 15 日
@newtype0092 resource 不是 rsc 吗
AngelCriss
2017 年 9 月 15 日
@fy ret 是 return 啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/390931

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX