代码风格,是一件头疼的事情

2017-07-23 14:17:05 +08:00
 changnet

代码风格,不能没有。但是又没有对错,混用各种风格,非常头疼。

在游戏公司上班,现在用的框架常用是 C++作底层,Lua 作上层脚本。但是这个框架非常古老,我估计 10 年以上了。期间经历无数项目,无数人来来去去。代码风格混乱。

公司并没有严格的代码审核。每次新项目时,上头都是:这个功能之前的项目已经有了,就不用重新做了。重构这种东西,不存在的,时间才是最重要的。 然后实际做的时候又发现和现在的设定有点不一样,就继续在原文件上改。

加上个人的原因,我喜欢在函数的括号前后加一空格,但是另人都不加。 我是

void Player:SendPosition( int x,int y ); 

别人是

void Player:SendPosition(int x,int y); 

而且最近业余看点 egret 的东西,主要是 js,这就更令人崩溃了。js 的大括号是不换行的,而我之前写的 C++都是换的。已经写了 4 年代码了,而且自己业余写的一些东西,风格已经固定,不想再换了。但是不换,在各种语言中混着写感觉就像精神分裂一样。

9879 次点击
所在节点    程序员
72 条回复
fds
2017-07-24 10:48:46 +08:00
用 vscode 写 ts,自动排版基本不用操心。当然还是会遇到单行过长的问题,lint 报错,需要手动换行的。
wizardoz
2017-07-24 11:07:51 +08:00
强迫症,你觉得看着别人写的代码跟你风格不统一觉得心里不舒服。但是如果你要求别人全部统一到一种代码风格,有人不认同那种风格的时候他心里更难受。
特别是多种语言混用的时候,每种语言甚至一个框架都有自己官方认可的一种编程风格。
本人喜欢在用一种框架的时候就用那种框架使用的编程风格。有时一个项目中我会用两三种。
hellojl
2017-07-24 11:17:14 +08:00
现在想想,百度内部的解决方案还是不错的,提交之前会有统一的代码风格检查,多一个空格都可能提不上去。现在的公司没有这些规范,代码库还超级大,里面可以说是群魔乱舞了
bluefalconjun
2017-07-24 11:34:39 +08:00
4 intent 120 其他无所谓...
gizie
2017-07-24 11:34:47 +08:00
看 Google 代码规范。
其实你的风格也不咋地
geew
2017-07-24 11:37:19 +08:00
用 pycharm 之后 强迫症的我看到代码里有波浪线就受不了...
blogbbs325
2017-07-24 11:40:31 +08:00
js 的话用 https://prettier.github.io/prettier/
自动帮你格式化源码,大家按自己的习惯写,git commit 的时候通过 hook 用 prettier 转换一下
qcind
2017-07-24 11:41:27 +08:00
后生仔,强迫症。
Felldeadbird
2017-07-24 11:54:30 +08:00
任何代码风格在我的编辑器格式化工具下都是浮云。
楼主应该合适使用 py 这类语言
66beta
2017-07-24 11:57:16 +08:00
扯这么多没用啊,关键要大家愿意统一一种风格,下次改动什么文件就一起格式化到新的风格
caiych
2017-07-24 12:59:14 +08:00
@wangxn Java 是 100 Go 是无限 其他是 80
rainex
2017-07-24 13:37:04 +08:00
楼主你自己的“喜欢在函数的括号前后加一空格”,这在别人眼里何尝不是一个怪癖?

统一代码风格需要团队头儿的要求,想推行自己的观点,需要你有发言权甚至决策权力。

不过等你负责团队了,就怕你的下属又跑 v2 来发帖说强制括号前后都加空格,怪癖真恶心= =
vjnjc
2017-07-24 13:41:35 +08:00
这时候不是应该根据代码附近的风格为参照么
kneep
2017-07-24 14:32:26 +08:00
你这加空格就属于异端,不知道别人怎么看你,呵呵
bombless
2017-07-24 14:37:13 +08:00
仅针对你说的在函数的括号前后加一空格这一点我倒是觉得有点新奇,通常是逗号后面有空格,没见过括号后面有的。 +1

commit 钩子里做 lint,大家全部用格式化工具格式化提交就好了
旧代码做一个巨大的 commit 把所有代码都格式化

C++代码和 Lua 代码风格不一样是正常的,一样就奇葩了
dreamwar
2017-07-24 14:37:59 +08:00
感觉还是看学的时候接触的代码都什么风格...
很多人都是被教的人或者带的人给带跑偏了
marvinwilliam
2017-07-24 15:04:41 +08:00
editorconfig 让编辑器自己去玩吧....
sirqiao
2017-07-24 15:24:25 +08:00
可以考虑实现一个 parser,然后再按自己的习惯把 ast 吐成自己习惯的格式。。。
yanxijian
2017-07-24 16:18:48 +08:00
@Technetiumer +1,括号两边有空格感觉好奇怪
sampeng
2017-07-24 17:02:46 +08:00
代码风格。。谁有拳头,谁说了算。
反正我拿到任何文件都是 ide 自动 format 文件格式。。。

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

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

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

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

© 2021 V2EX