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

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

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

// 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 回帖
  • 英语
    42 引用 • 155 回帖 • 1 关注
  • 程序员

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

    599 引用 • 3541 回帖

相关帖子

欢迎来到这里!

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

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

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

  • 其他回帖
  • someone756

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

  • sucre 1

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

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

  • Angonger

    比较同意这个1459932730660

  • 查看全部回帖

推荐标签 标签

  • 机器学习

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

    78 引用 • 37 回帖
  • danl
    216 关注
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 120 关注
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 9 关注
  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    7 引用 • 30 回帖 • 367 关注
  • FlowUs

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

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

    1 引用 • 1 关注
  • DNSPod

    DNSPod 建立于 2006 年 3 月份,是一款免费智能 DNS 产品。 DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。

    6 引用 • 26 回帖 • 548 关注
  • CSS

    CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

    200 引用 • 545 回帖
  • jsoup

    jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。

    6 引用 • 1 回帖 • 517 关注
  • 安装

    你若安好,便是晴天。

    134 引用 • 1184 回帖 • 2 关注
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    36 引用 • 35 回帖
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 342 关注
  • Pipe

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

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

    134 引用 • 1128 回帖 • 93 关注
  • SVN

    SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

    29 引用 • 98 回帖 • 694 关注
  • Visio
    1 引用 • 2 回帖
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 572 关注
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    9 引用 • 75 回帖 • 1 关注
  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 724 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖 • 2 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 203 关注
  • 新人

    让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
    新手上路,请谨慎驾驶!

    52 引用 • 228 回帖
  • 安全

    安全永远都不是一个小问题。

    202 引用 • 818 回帖
  • Excel
    32 引用 • 29 回帖 • 1 关注
  • 反馈

    Communication channel for makers and users.

    120 引用 • 906 回帖 • 306 关注
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 180 关注
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 646 关注
  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 706 关注