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

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

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

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

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

    544 引用 • 3531 回帖

相关帖子

欢迎来到这里!

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

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

    @Angonger UTF-8 标准的啊

  • 其他回帖
  • sucre 1

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

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

  • Angonger 1

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

  • noah

    you need CODELE

  • 查看全部回帖

推荐标签 标签

  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    10 引用 • 54 回帖 • 142 关注
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    524 引用 • 4599 回帖 • 701 关注
  • Wide

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

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

    30 引用 • 218 回帖 • 615 关注
  • FlowUs

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

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

    1 引用
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    4 引用 • 16 回帖
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 365 关注
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 50 关注
  • 持续集成

    持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

    14 引用 • 7 回帖
  • 面试

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

    324 引用 • 1395 回帖
  • B3log

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

    1083 引用 • 3461 回帖 • 256 关注
  • sts
    2 引用 • 2 回帖 • 168 关注
  • V2Ray
    1 引用 • 15 回帖 • 1 关注
  • 安装

    你若安好,便是晴天。

    131 引用 • 1184 回帖 • 1 关注
  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    23 引用 • 31 回帖 • 8 关注
  • Thymeleaf

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 Velocity、 FreeMarker 等,它也可以轻易的与 Spring 等 Web 框架进行集成作为 Web 应用的模板引擎。与其它模板引擎相比,Thymeleaf 最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个 Web 应用。

    11 引用 • 19 回帖 • 322 关注
  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    6 引用 • 15 回帖 • 179 关注
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖 • 5 关注
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 42 关注
  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    76 引用 • 429 回帖 • 3 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    41 引用 • 40 回帖
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    713 引用 • 1174 回帖 • 101 关注
  • Pipe

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

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

    131 引用 • 1114 回帖 • 133 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 428 关注
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    333 引用 • 619 回帖
  • Kafka

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

    35 引用 • 35 回帖 • 1 关注
  • danl
    92 关注
  • GraphQL

    GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。

    4 引用 • 3 回帖 • 16 关注