变量命名用拼音还是英语?

本贴最后更新于 2938 天前,其中的信息可能已经水流花落

比如一个描述房子的结构体:

// HouseInfo 描述了房源.
type HouseInfo struct {
	Id               string   // 房源 Id
	LocalId          string   // 内部房源 Id
	LocalUserId      string   // 内部用户 Id
	UserId           string   // 经纪人 Id
	LouPan           string   // 楼盘名
	LouPanPinYin     string   // 楼盘名拼音
	LouPanId         string   // 楼盘 Id
	LouPanDiZhi      string   // 楼盘地址
	LouPanLatLng     string   // 楼盘经纬度
	QuXian           string   // 区县
	QuXianId         string   // 区县 Id
	XingZhengQu      string   // 行政区
	XingZhengQuId    string   // 行政区 Id
	ShangQuan        string   // 商圈
	ShangQuanId      string   // 商圈 Id
	ChanQuan         string   // 产权
	ChanZhengManEr   string   // 房产证是否满二年,"1":满,"0":不满
	WeiYiZhuFang     string   // 是否为房东唯一住房,"1":是,"0":不是
	WuYeYongTu       string   // 物业用途(住宅)
	ShouJia          string   // 售价,单位:万
	ZuJia            string   // 租价,单位:元
	Shi              string   // 室
	Ting             string   // 厅
	Wei              string   // 卫
	Chu              string   // 厨
	YangTai          string   // 阳台
	JianZhuJieGou    string   // 建筑结构(平层、错层、跃层、复式、开间)
	JianZhuLeiBie    string   // 建筑类别(塔楼、平层、砖混、钢混、板楼)
	JianZhuMianJi    string   // 建筑面积
	ShiYongMianJi    string   // 使用面积
	JianZhuNianDai   string   // 建筑年代
	LouCeng          string   // 楼层
	ZongLouCeng      string   // 总楼层
	ChaoXiang        string   // 朝向(东、南、西、北、东南、西南、东北、西北)
	ZhuangXiuChengDu string   // 装修程度(精装修、中装修、毛坯房、简装、豪华装修)
	PeiTaoSheShi     []string // 配套设施(水、电、煤气/天然气、冰箱、有限电视、宽带、电话、热水器、空调、洗衣机、电视机、微波炉、床、厨具、露台、家具、电梯、车位/车库、阁楼、花园/小院、储藏室/地下室)
	BiaoQian         []string // 标签(产权满五年、地铁房、学区房、业主唯一住房、红本在手、低首付)
	KanFangShiJian   string   // 看房时间(随时看房)
	BiaoTi           string   // 标题
	MiaoShu          string   // 描述
	HuXingTu         []string // 户型图链接
	ShiNeiTu         []string // 室内图链接
	XiaoQuTu         []string // 小区图链接
	DianHua          string   // 电话
	LianXiRen        string   // 联系人
	YiJuGuangGao     string   // 一句广告
	ZuFuFangShi      string   // 租金支付方式(月付、季度付、半年付、年付、面议)
	CheckCode        string   // 验证码
	CheckCodeKey     string   // 验证码 key
	CheckCodeId      string   // 验证码 id
}

业务字段命名是拼音,非业务字段(比如验证码什么的)用的是英语。

大家觉得基本原则是不是:

  1. 和其他开发小伙伴达成共识,说好一种命名法就坚持下去
  2. 其实用拼音命名还是蛮接地气的,清晰易读

还记得刚毕业的时候在的公司,拼音命名、英语命名混用(特别不能忍的是用拼音首字母缩写的),那时候觉得好 low,应该都用英语!

工作几年后,我也成了那样的人....

  • 变量命名
    1 引用 • 41 回帖
  • 拼音
    2 引用 • 50 回帖
  • 英语
    35 引用 • 153 回帖 • 1 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    532 引用 • 3528 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • Angonger 1

    准备了词典,变量用英语,后来发现太长,有些不舒服,拼音首字母缩写虽然经常用,确实不好,下一个人不一定看得懂,万一遇到首字母一样的怎么办

  • blague 1

    我觉得应该加上声调的考虑!

  • wishao 1

    直接用中文变量

  • Angonger

    @blague 你屌

  • flhuoshan

    接地气的处理方式,前久还跟他们说用拼音命名。

  • 88250

    @Angonger 用拼音首字母非常装,我领教过 @flhuoshan 应该也领教过

  • zonghua

    拼音很多重名的啊,还不如直接用中文

  • 714593351 1

    想用英语。。。但是经常会很多词翻译不出来,经常去翻词典。。。

  • zonghua

    反正 Java 支持

  • 88250

    @zonghua @wishao 中文我很久以前就想尝试了,怕被同事喷

  • zonghua

    Swift 连 😍走支持

  • flhuoshan 1

    老生长谈了,英语是横亘在很多中国码农面前的大山

  • someone1764

    英文单词有时候真的太长了.....但是大部分时候我都是用英文单词的

  • Angonger

    @88250 试试 好使了我也用 😆 有没有字符集的要求

  • zonghua

    @flhuoshan 英语主要是为了看文档,变量命名倒不是什么问题

  • zonghua

    @Angonger UTF-8 标准的啊

  • 88250

    @Angonger 现代编程语言都支持的

  • 714593351

    @blague 用中文可能会有问题

  • flhuoshan

    很多同志前后鼻音不分的怎么破 @88250

  • Angonger

    看来哪种方式都总要有问题的

  • sucre 1

    用英文各种好处,需我多言?

    还有你这个界面根据你的文章长度拉伸了诶?这都能忍?
    @88250 @Vanessa

  • 88250

    @flhuoshan 以输入法打得出来为准..

  • 88250

    @sucre 这个 bug 我和 @Vanessa 都看不到....总之会解决的。。。。 [FireFox] ?

  • 714593351 1

    @88250 firefox 啊,图片大了也会拉伸,有代码也会,忍了好久了!
    1459932633047

  • Angonger

    我很认真的查了这个变量名的讨论
    http://www.iteye.com/problems/64946

  • flhuoshan

    目测楼已歪,我来扶正

  • zonghua

    你们看看越南人写的代码,都是带音标的呢

  • Angonger

    比较同意这个1459932730660

  • 88250

    看来我要做公司里第一个用中文命名变量的开发了,我去了,各位,不要拦我。

  • flhuoshan

    @88250 拼音,还是中文?

  • Angonger

    @88250 你不光要考虑规范,我认为你要考虑框架支持不支持

  • 88250

    @flhuoshan @Angonger 我要用中文了, [golang] 的项目,没用框架

  • ylwang 1

    有时候英文,有时候拼音(词穷的时候)

  • 我们组还是坚持英文的。哪些一看就是 1 组取的。。。哇哈哈哈

  • zempty

    用日语

  • 88250

    @zempty 用日语的话 count 场景可以叫....有知音么

    @participants

  • someone756

    学英文很有价值,尤其是年轻人,还是要把这关过了,英文又那么简单。当你能自如阅读英文的那一刻,你会开心到哭。

  • mainlove

    首先 我想说

    一个类里面有那么变量 本来就是不对的

    应该是聚合起来的。。

    这个类太大了

  • wizardforcel

    中文敲代码慢死了。。。

  • Jiar 1

    可以模仿 OC 的方法名写法...啰嗦模式,不过还挺不错的。

  • noah

    you need CODELE

请输入回帖内容 ...

推荐标签 标签

  • 职场

    找到自己的位置,萌新烦恼少。

    126 引用 • 1699 回帖
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3168 引用 • 8207 回帖 • 1 关注
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1425 引用 • 10043 回帖 • 472 关注
  • sts
    2 引用 • 2 回帖 • 148 关注
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 232 回帖 • 6 关注
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    76 引用 • 37 回帖
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    324 引用 • 1395 回帖 • 1 关注
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    53 引用 • 85 回帖
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖
  • CodeMirror
    1 引用 • 2 回帖 • 116 关注
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    82 引用 • 122 回帖 • 616 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    396 引用 • 3413 回帖
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 606 关注
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖 • 3 关注
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    11 引用 • 5 回帖 • 563 关注
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖 • 1 关注
  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用 • 2 关注
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    4 引用 • 55 回帖 • 7 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    185 引用 • 318 回帖 • 350 关注
  • WordPress

    WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。

    45 引用 • 113 回帖 • 317 关注
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    19 引用 • 31 回帖 • 3 关注
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    25 引用 • 191 回帖 • 20 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 641 关注
  • 区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。

    91 引用 • 751 回帖
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1083 引用 • 3461 回帖 • 287 关注
  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 599 关注