看着项目的代码,感觉要黄,准备跑路了

2020-07-07 12:11:42 +08:00
 george404

小弟在一个创业型小公司 10 个人搞 golang 项目。最近模块连调的时候发现一个 bug 追到另一个人写的代码里去了,直接崩溃了。

1.那个人一共撸 4 万行代码(包括注释换行),其中 3 万行在一个文件夹下,一个文件夹下直接 30 个.go 源文件。。。。没有任何逻辑和层次,甚至分类。

2.很多函数复制粘贴多次,后面修改代码,得跟着所有函数改一遍。

3.几乎没有封装,要用另外一个 package 的函数,直接大写,导成全局函数。

4.当看到 package 里一个 go 文件全局变量是这么定义的( types 为另外一个包)

var(
a=types.Function1
b=types.Function2
......
......
n=types.Functionn
)

一共定义了 100 多个全局变量。。。。。。

这个人自称 10 年开发经验,我怀疑他是故意这么写代码的。我当时就觉得项目上线 1 个星期内肯定黄,这种代码如何维护更新,我看我要准备跑路了。。。。。 当你想好好做事的时候,碰到这种货,,,哎。。。。。。。。重头再来了。

13528 次点击
所在节点    程序员
68 条回复
fiypig
2020-07-07 14:54:33 +08:00
你们没有个主程吗
cnbattle
2020-07-07 14:57:00 +08:00
跟他聊下代码思路 大概是按怎么样的逻辑 结构写的, 可能聊完 再看就没那么乱了
reus
2020-07-07 15:03:48 +08:00
第一点问题不大,官方的 net 包,180 几个文件也是同一个目录: https://github.com/golang/go/tree/master/src/net 。用前缀大致区分即可。

第二点有问题,但可以重构

第三点问题也不算大,命名和原来的一样就行

单看你这个描述,其实也说明不了质量,只是你一时适应不了不同的方式而已。
robotdiy
2020-07-07 15:07:40 +08:00
如果是别人写的,你提交下你查到的 bug,让他修改不就得了。
chenqh
2020-07-07 15:18:32 +08:00
@luoqeng 比 php 差远了,php 的创始人如果想 golang 那批人那么有钱,php 肯定要比 golang 好
Jooooooooo
2020-07-07 15:25:14 +08:00
项目黄不黄完全看业务

再烂的代码能跑起来就行
la2la
2020-07-07 15:31:19 +08:00
如果是业务驱动型项目,项目黄不黄跟代码质量毛关系都没有;
以我司为例 ssm 这一套接口,还没有管理工具,一个 java 文件 7000+是常有的事情,据说是出现过源码文件太大的错误,但是丝毫不影响公司赚钱
szdubinbin
2020-07-07 15:48:07 +08:00
Kilerd
2020-07-07 15:56:52 +08:00
诶,go 不就是这么写的吗? 我见很多开源项目都这么写还有很多 start 呢
Kilerd
2020-07-07 15:58:11 +08:00
@murmur #17 好像现在 Python 这么做也能都丝丝性能提升(
heiheidewo
2020-07-07 16:17:34 +08:00
这不是标准写法么
ydpro
2020-07-07 16:24:19 +08:00
真·十年经验(深知不可替代性
FreeEx
2020-07-07 16:35:31 +08:00
幸亏是 Go 语言,如果是 Java 的话,众人皆云:Java 是真的像老太婆的裹脚布一样啰嗦,我 xx 语言 yy 行就能搞定。
crella
2020-07-07 17:35:55 +08:00
google 的开源项目就没******
yoke123
2020-07-07 18:00:53 +08:00
他——不可替代,你确实可以替代。
Mohanson
2020-07-07 18:12:26 +08:00
菜鸟看到屎山会想办法重构然后被屎淹没,高手看到屎山会维持不倒塌的情况下再把自己的屎拉上去。
yousabuk
2020-07-07 18:55:49 +08:00
不要提出问题,谁提出问题谁解决问题。
scriptB0y
2020-07-07 19:02:48 +08:00
@Mohanson 我是一坨屎,在屎上拉屎。
itabas016
2020-07-07 19:31:58 +08:00
@DJQTDJ #14 小公司太多这类的”大牛“了,真不知道出了问题修 bug 的时候,他自己是不是也恶心。
zhuangzhuang1988
2020-07-07 19:59:00 +08:00

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

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

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

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

© 2021 V2EX