当前位置: 首页 > 后端技术 > Java

没有人喜欢Go编码风格?不,Gofmt是大家最喜欢的...

时间:2023-04-01 17:01:28 Java

大家好,我是炸鱼。任何语言编程的时候,只要涉及到多人协作。你肯定会遇到一个绝世争锋的大问题。即:编码风格。Go、PHP、Java、C++;初级、中级、高级、管理风格;传统的和互联网的都是不同的。谁的风格更好比如经典的判断场景:iferr!=nil至少可以写三种模式。以下代码:#Method1iferr!=nil{//dosomething...}#Method2iferr!=nil{//dosomething...}#Method3iferr!=nil{//dosomething...}在团队中,你应该选择哪种方法?看性能?看款式?你想玩多少个空格?谁的拳头更大?这是一个经常撕得明明白白的问题。关于统一编码风格,Go语言中有一句话:“gofmt的风格没有人喜欢,gofmt却人人喜欢”。总体思路是没有人喜欢Gofmt的风格,但Gofmt是每个人的最爱。为什么是这样?我爱它,我不爱它。先从gofmt的功能说起,它可以对Go程序进行格式化,使用制表符进行缩进,使用空格进行对齐,让你的代码可以一样长。不管是谁,怎么写。只要结合IDE和Gofmt配置,就会变成如下格式:iferr!=nil{//dosomething...}因此,在Go中,关于编码风格的争论变得毫无意义。由官方统一管控,如有冲突,由围棋团队自行处理。整体来说,大家还是会更倾向于接近官方定义的风格,符合??标准,这样可以减少很多争议。这就是为什么“Gofmt是每个人的最爱”,当然。我认为“团队最爱”可能更合适。正如谚语中提到的,没有人喜欢Gofmt的风格。所以呢?真正的社区朋友会遇到这样的场景。如下图所示:事实上,在Gofmt中有很多对齐小伙伴不喜欢它,想要改变它。可悲的是……不,Go就是要完全一致。甚至有同学在社区issue中提到,Go核心团队的rsc也给出了明确直接的回复:对于Go的设计来说,不配置gofmt很重要。如果要添加可配置的规范化,这是不可能的。谚语说没有人喜欢Gofmt,也是因为它是强制性的东西。不管你喜不喜欢。总有人喜欢不同的规范格式。总结一下Go编程规范的标准化,从不同的角度来看,各有利弊。但是当你接受一个新的历史代码时,它的编码格式被Gofmt处理得干干净净,而且还是和你在10年后看到的代码格式保持一致,这确实是一个很好的好处。从语言本身来看,它是Go成功的重要原因之一。减少了很多团队和很多人之间的纠纷。你认为呢?文章持续更新中。可以微信搜索【脑补炸鱼】阅读。本文已收录在GitHubgithub.com/eddycjy/blog中。学习Go语言可以看Go学习地图和路线。欢迎星星提醒。Go书系列Go语言入门系列:初探Go项目实战Go语言编程之旅:深入使用Go进行项目Go语言设计哲学:理解Go的Why和设计思维把Go代码变成意大利面条?仅当err!=nil时才去?不对,把这些优雅的搬运姿势分享给你!