如果一个程序员提交的代码连格式化对齐都不做,敲代码是怀着怎样的心情....

2019-06-11 15:22:09 +08:00
 abbenyyy

没错,我说的就是我的同事,我也不要求你有多牛逼,提交的代码不能有任何警告,我只是要求提交代码前按一下快捷键格式化对齐代码,每次都说 okok,然后依然我行我素。

重点是有时候这个同事可能没空,我要修改他的代码,一堆没对齐代码附加一大堆警告,作为一个强迫症看得想死。

提交的代码连格式化对齐都不做,到底是什么让他走上码农的道路...

6170 次点击
所在节点    程序员
58 条回复
galikeoy
2019-06-11 16:47:50 +08:00
@msg7086 #18 请问您今年贵庚
jasonyang9
2019-06-11 16:48:58 +08:00
Python:???
Greendays
2019-06-11 16:53:42 +08:00
联动这歌帖子,估计楼主同事在里头支招呢 233
https://www.v2ex.com/t/572728#reply28
Takamine
2019-06-11 17:18:11 +08:00
格式化,不是...一键格式化吗。
而且格式化的配置文件大家不应该要求是统一的吗。
hstdt
2019-06-11 17:26:28 +08:00
使用 lint 工具辅助代码质量控制,要是能和绩效挂钩的话,就更容易让他写好代码了。
skylancer
2019-06-11 17:41:27 +08:00
@galikeoy 初中折腾并不觉得稀奇... 感觉是不是有点大惊小怪了兄弟
mamahaha
2019-06-11 17:47:49 +08:00
我想大多数创造代码的人都会打草稿,做几行就会进行一下输出测试,这个时候考滤的是逻辑,代码块测试通过了才会考虑格式。
如果代码是 copy 来的,大段大段的不用测试,就像整理代码一样,这样的一上来就会把格式做到位吧。
EminemW
2019-06-11 19:47:58 +08:00
你可以告诉他怎么快速格式化,他可能不会,,
linvaux
2019-06-11 20:12:09 +08:00
幸亏这哥们儿不是写了 js 的
Bartholomew
2019-06-11 20:19:23 +08:00
文件保存就自动格式化 vscode 有这个设置
galikeoy
2019-06-11 21:08:03 +08:00
@skylancer #26 只是惊讶
galikeoy
2019-06-11 21:09:11 +08:00
@linvaux #29 不然又给前端招黑 hahahaha
akira
2019-06-11 22:17:53 +08:00
@linvaux 幸亏不是写 py 的
kaedea
2019-06-11 22:22:37 +08:00
最近刚回在做代码格式规范的工作,说一下感受。

这个问题看上去简单,要做到强制还真的难:
1. 历史代码一大堆格式问题,全部修改不现实
2. 每个 ide 自带的格式化标准都不太一样
3. 代码风格每个人见解都有出入,很难完全统一

其实主要原因还是团队整体技术氛围,我之前呆过的团队,工程师文化比较好,大家普遍对代码质量有追求,所以风格统一上容易达成一致,新来的人代码写得搓也会在 rv 环节被纠正过来。

现在呆的团队代码风格就有点野了,历史包袱太重,大家普遍各顾个的,突然间要求别人要换成另一种写法,大概率会被白眼...

最终的方案是:
1. 合入检查只做修改、新增代码的格式规范
2. 代码规范只强制做结构上(空格、缩进)和命名上的要求单单这样就已经检查出不少问题
3. 通过 EditorConfig 统一项目的基本配置
4. 引导开发多使用 ide 的自动补全功能,已经提交代码前自觉格式化代码

但是我还是觉得之前团队的状态才是根本的解决方案啊,无奈。
Vincex
2019-06-11 22:28:19 +08:00
可以用 githook 提交时自动格式化
kaedea
2019-06-11 22:29:26 +08:00
@kaedea
除了这个代码规范,类似的还有 git log 规范和 git merge /rebase 基本用法规范的问题,也真是难控制,通过 git hook 做强制检查容易,要引导别人按到新的流程去做事才是最难的。

个人觉得一个团队的整体工程师文化水平,从以上三点就能看出个大概了。

现在的感觉就是,要培养用户的习惯真的很难啊。
loading
2019-06-11 22:32:55 +08:00
我提交 c 语言 pr 时我的空格都要按坏了……用工具又会因为里面用到的宏啊什么的对齐得乱七八糟。

我越来越喜欢 go 了。
FakeLeung
2019-06-11 22:40:50 +08:00
怎么可以不经意的让我同事看到这篇?
msg7086
2019-06-11 22:49:02 +08:00
@galikeoy 老了老了)
msg7086
2019-06-11 22:50:15 +08:00
@kaedea git merge rebase 规范这个实在是太难了。
太多的程序员不会用 git,只知道无脑 commit/merge/branch。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/572817

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX