你是喜欢用下划线还是小驼峰呢?

通常每种语言都有自己的 Coding Style, 比如 C/C++ 和 python 是下划线,java 和 go 是驼峰。所以按照语言的规范来命名比较合理。 

驼峰派:

1:从按键上来说,驼峰是SHIFT+字母,下划是SHIFT+减号,打平。

2:从字符上来说,下划线要多出一个字符,所以导致一个源文件的字符数比驼峰来说要多出30%左右。

3:从视觉上来说,多出的30%的字符导致视觉负担,阅读负担,当然是眼里所见的越少越轻松。

4:从现状来看,用驼峰的程序员占据90%以上,虽然没有确切的统计,但从各个公司的实际情况来看是这样的。

5:和下划线相比,驼峰没有一处弱点。如有,请指出。

所以,强烈建议小驼峰。

下划线派:
1.阅读困难,加下划线之后词距拉大,相对来说阅读起来轻松些。
2.为了做全文搜索,驼峰你必须忽略大小写。而下划线命名法做全文搜索可以区别大小写。很少有人在用驼峰命名时,编辑器搜索区分大小写。而一旦你习惯了不分大小写的设定,会在区分大小写的场合感到不习惯。

3.因为驼峰命名法有很多时候存在不同的理解,比如首字母大写还是小写,PlayerID还是PlayerId,如果要统一需要再增加一些规则,这些规则也常常不能被很好的落实

中庸派:

都挺常用的,看你的语言环境啊,应用场景啊,总不能编程规范里要求驼峰命名你还拧着干吧,还有数据库对大小写不敏感这种环境...

  1. 驼峰更加紧凑,可读性这点因人而异(有人对大写不敏感的).搜索的时候记得不区分大小写,打字速度会变慢(毕竟都是不同的大写字母切shift也算挺麻烦的了),缩写需要统一规定(有人全大写,有人仅首字母)

  2. 下划线会增加尺寸,长命名会导致需要换行(可能导致可读性下降).可读性略好(_看起来和空格其实差不多,所以和平时读文章一样)

实际应用还是看场景.比如ST的HAL库,是两种方式融合的...HAL_GPIO_ReadPin()这种.习惯了也还好,比较容易区分.HAL表明这是库函数,GPIO表明外设,ReadPin表明具体功能.很长...敲起来很麻烦

当然,其实也没有绝对的好坏,只是一个取舍而已。项目一致性始终很重要。人家那个项目不建议用驼峰你就别用,人家那个项目规定用驼峰你就用。

你中意那种类型呢?请留言告诉我你的想法把!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
在Spring Boot开发中,我们经常需要将JSON对象转换为Java对象或反之亦然。但是,在JSON和Java对象之间转换的过程中,往往会遇到下划线驼峰命名风格的差异问题。这个时候,我们可以使用Spring Boot自带的Jackson库进行转换。下面我将详细介绍如何在Spring Boot中使用Jackson库进行下划线驼峰格式的转换。 1. 下划线转换成驼峰 在Spring Boot中,使用Jackson库进行下划线驼峰命名格式的转换,需要在配置文件中进行配置,首先我们需要在application.yaml配置文件中添加以下内容: ```yaml # 进行下划线转换驼峰 spring: jackson: property-naming-strategy: com.fasterxml.jackson.databind.PropertyNamingStrategy$SnakeCaseStrategy ``` 添加这段配置代码后,就可以实现下划线转换驼峰。在进行Java对象与JSON字符串之间的转换时,JSON字符串的下划线将会自动转换为Java对象的驼峰命名格式,例如,原本`user_name`的JSON字段在Java对象中将会变成`userName`。 2. 驼峰转换成下划线 在进行Java对象与JSON字符串之间的转换时,我们也可以将Java对象中的驼峰命名格式转换为JSON字符串中的下划线。要实现这个功能,我们需要在配置文件中加入以下代码: ```yaml # 进行驼峰转换下划线 spring: jackson: property-naming-strategy: com.fasterxml.jackson.databind.PropertyNamingStrategy$SNAKE_CASE ``` 这时候,在进行Java对象与JSON字符串之间的转换时,Java对象中的驼峰命名格式就会被自动转换成JSON字符串中的下划线格式,例如,Java对象中的`userName`字段会自动被转换成JSON字符串中的`user_name`。 总结: 在Spring Boot中,使用Jackson库进行下划线驼峰命名格式的转换,只需要在application.yaml配置文件中添加一段内容即可。设置`com.fasterxml.jackson.databind.PropertyNamingStrategy$SnakeCaseStrategy`可以将下划线转换成Java对象的驼峰命名格式,而将`com.fasterxml.jackson.databind.PropertyNamingStrategy$SNAKE_CASE`设置为属性命名策略,则可以将Java对象中的驼峰命名格式自动转换成JSON字符串中的下划线格式。这样的配置可以很方便地适应不同的数据接口和Java对象。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值