不谈技术好坏,就编码风格来说。和同事协同开发,同事特别喜欢搞一些封装,整个项目前期主要是他一个人撸的,项目中有不少他自己写(封装)的库,
本人有一些代码洁癖, 能用内置库和官方库解决问题的绝不使用第三方库尤其是个人的库,项目中处处都是 zxxx 这些代码,感觉被 qj,比较反感这种风格,怎么破?
1
cwjokaka 2020-01-21 17:46:21 +08:00
互相重构 (狗头)
|
3
ourleven 2020-01-21 17:52:35 +08:00 via iPhone
zstrimg 什么鬼
|
4
gam2046 2020-01-21 17:53:13 +08:00
当然是要么接受,要么走人。
代码这种东西,还是为业务服务的。其实并没有人关心你的编码风格,实现。 当然,如果你实在是工作不饱和,可以慢慢的改起来。但真的没啥意义。你去工作也是为了钱,而不是为了传播你的编码理念。 |
5
Justin13 2020-01-21 17:54:11 +08:00 via Android 6
别的不说,你这个🐴和没打一样,搜一搜 repo 就知道是谁了。。
|
6
ourleven 2020-01-21 17:54:51 +08:00 via iPhone
只要接口规范,实际上这么做挺好啊。如果哪个模块想替换了,直接把这个库改掉。总比用了某些号称高大上的库后期新增或替换接口都不行容易多了
|
8
zarte 2020-01-21 17:56:28 +08:00
有的时候是不得以啊,需要改别人的库代码啊。replace 成自己本地,公用库不改其他项目也许不需要用到这些改变的地方。
|
9
YakuMioto 2020-01-21 17:58:02 +08:00 via Android
给我我就爆炸了…,这不是闲的么…
|
10
snowfuck 2020-01-21 17:58:16 +08:00
把私有库迁移到公司下面嘛
|
11
tyrealgray 2020-01-21 18:00:11 +08:00 1
公司的东西就这么让他封到自己的库里?
|
13
cccssss 2020-01-21 18:03:24 +08:00
一位不愿被透露姓名的 zlyuancn zhangfan 同学
这种代码风格除了命名可能不是公司名称之外,做法很好啊,官方或者内置库封装了一些工具项目,我感觉没啥毛病 而且人家换工作也可以有的说,总比自己写一堆 util.go 之类的强吧 |
17
LinYa 2020-01-21 18:07:28 +08:00
不应该依赖私人的库,万一哪天他删除了你咋办。。。
|
18
herich OP @cccssss 如果某一天他离职了、把 github 上自己的项目删了或者某个库有一些隐藏 bug,谁来维护?后来的同事怎么接手这个项目?
|
19
manami 2020-01-21 18:13:16 +08:00 via Android
你同事是个聪明人。他的代码渗入了公司的血液,握住了公司的命脉。公司应该不敢辞退他,哪天他恼火了删掉自己的仓库不再维护……
|
21
kx5d62Jn1J9MjoXP 2020-01-21 18:14:10 +08:00 via iPad 4
这种人我也碰到一个,而且他去了阿里
这叫“产出”,是一种面向跳槽的编码方式 |
23
herich OP @tyrealgray 我觉得这样很不妥,公司项目的代码至少得上传到公司的账号和公司的 git 仓库吧
|
24
tyrealgray 2020-01-21 18:17:44 +08:00
|
25
tyrealgray 2020-01-21 18:18:34 +08:00
哦,看错了,直接发在 github 上的?
|
26
tyrealgray 2020-01-21 18:19:38 +08:00
@herich 对,这样很不妥
|
29
herich OP @tyrealgray 嗯,直接引用的 github 上库
|
30
tyrealgray 2020-01-21 18:26:31 +08:00
如果是能被删除,那这个就不是代码风格的问题的,是这个库应该归公司所有。还是提醒一下你同事让他把代码放在应该放的地方吧。不然以后吃官司吃亏的是他自己
|
31
tt67wq 2020-01-21 18:27:12 +08:00 1
公司的代码又不是你儿子,有啥好介意的,有人喜欢操心还不错的,只要工资有,别说用垃圾库,用 php 都行
|
32
herich OP @tt67wq 这是一种工作态度吧,按理说只要工作任务完成了,出现问题及时解决,业务能正常运行就行了, 管他代码写成什么样子。。。自己要参与到这个项目来,和他的一些编码习惯和观念不一样,而且有交集,肯定有介意呀,一个寝室的同学生活习惯不一样还可能有矛盾呢
|
33
Muninn 2020-01-21 18:34:33 +08:00
封装没问题,要协作的话放公司的组织下啊,员工用自己的私有库不妥。
如果他是 boss,那放他私人那也没啥问题,让他加你当协作者就完了。 在 google 带头下,golang 项目很多公司都有个 x 的项目,把各种封装和工具往进扔。 |
34
woodfish 2020-01-21 18:40:23 +08:00 1
商业互吹一下:张哥代码太棒了,建议提到部门公司级别,基于公司名称商帮有限公司,起名*bstring, s*cache,等等
|
35
MissThee 2020-01-21 18:41:14 +08:00 via iPhone
不封装,这个帖子估计就改成,很反感同事写的代码,功能块都不封装一下,代码文件一大坨
|
36
herich OP @MissThee 封装无可厚非,但有的东西明明有优秀的三方库,为什么要再封装成自己库?如果参与这个项目同事都按自己喜好来封装成自己的方法接口,项目的可维护不太好吧?这是编码习惯不同产生的矛盾。
|
37
zlfoxy 2020-01-21 18:57:23 +08:00 1
https://github.com/zlyuancn
楼主你这码打的毫无意义呀。。。。 |
40
gamexg 2020-01-21 19:02:02 +08:00 via Android
封装很正常吧。
一些常用功能标准库、第三方库没有的功能不封装每次都打 x 行真没意义。 不过封装到自己的仓库就有些问题了。 |
42
katsusan 2020-01-21 19:07:05 +08:00
新建个 project 把他的私有库 fork 过去,依赖都改成指向这个公共 project 下的项目,可以防止删库跑路这样的行为 /狗头.
|
43
herich OP |
44
angith 2020-01-21 19:22:27 +08:00 via Android
那你一个人都包了呀
|
45
dapang1221 2020-01-21 19:23:14 +08:00
@zlyuancn 你同事吐槽你代码(试试有没有
|
48
wd 2020-01-21 19:28:55 +08:00 via iPhone
这明显你们公司的问题,在公司写的代码版权都是公司的,你们公司允许随意开源吗?
|
49
hyy1995 2020-01-21 19:32:06 +08:00 1
我看了下他仓库,一堆自己封装的东西,项目里面这么用,有够自恋。你们没技术总监?他这样用自己的库,那这个项目他走之后,谁敢接啊
|
50
xy90321 2020-01-21 19:32:19 +08:00 via iPhone
反感就去推倒重来,又懒得重来那就自己默默承受,很简单的道理
|
51
pursuer 2020-01-21 19:59:52 +08:00
我希望和我合作的人封装好(指 IDE 比较强大的项目且封装代码层次清晰命名准确的)有不懂的开着 IDE 一步步跟过去就明白了,封装得好的他就是驼峰下划线大括号换行不换行混用我都不介意(除非命名空间污染)。
|
52
herich OP |
53
DJQTDJ 2020-01-21 20:41:50 +08:00
如果公司的库封到自己库里,那么律师函警告
|
54
UsherOu 2020-01-21 20:56:20 +08:00
要么重构,要么忍,风格这玩意很难改成统一的
|
55
Reficul 2020-01-21 20:58:10 +08:00
大不了 fork,删除又怎么样? 会封装总比不封装强,封装了你不爽就按照接口重构一个新的,replace 过去不就完了?
|
56
robertredd 2020-01-21 21:00:34 +08:00 via Android
俺要是老板 看懂了肯定要他改 这不是往公司代码植入其他依赖吗 特别不可靠
|
57
SnailLin 2020-01-21 21:02:16 +08:00
要我肯定就举报了,公司的代码使用自己的私有库,还公开在 GitHub 上,安全和维护都会有问题。
|
58
blless 2020-01-21 21:26:42 +08:00 via Android
vendor 啊 固化一下依赖,依赖直接跟着项目走就是了,github 删了你们照样可以用 go.mod replace 慢慢替换嘛
|
59
blless 2020-01-21 21:30:29 +08:00 via Android
不过说真的,你们这样基本上架构内部用法跟技术栈都可以猜个七七八八。虽然不见得是啥重要信息,不过谁知道哪天出了漏洞啥的。比如你们的 mgo,casbin 之类的
|
60
lasuar 2020-01-21 21:44:57 +08:00
做事方式有问题,这些库得需要维护吧?保证毫无 bug 吗?要维护再给他提 pr ?这不是搞些事情出来在做。
封装思想是 OK 的,但是应该直接封装在 codebase 里面。 |
61
wangyzj 2020-01-21 22:21:33 +08:00
重构是一些人的自我表现的过程
所以经常会看见那种大炮打蚊子的代码 我就特别烦那种拆的特别碎,埋得特别深的代码 |
62
lbfeng 2020-01-21 22:33:13 +08:00
他自己写的库都没测试么?
|
63
easonl 2020-01-21 23:21:32 +08:00
直接过去打他啊!过去直接对后脑勺打:“你他喵的搞这种看不懂来路的库,想死吗?正扑街!”
|
64
ChiangDi 2020-01-22 00:20:23 +08:00 via iPhone
他一离职删自己 GitHub 的仓库你们就凉了。
|
65
serpent 2020-01-22 00:30:06 +08:00
说点题外话,你要不先打听打听,他是不是老板小舅子?
|
66
drackzy 2020-01-22 00:41:31 +08:00
他这 github repo 一变,你司以后部署、升级都会出问题。
也见到同事喜欢封装 go 造轮子库。 |
67
sonicjam 2020-01-22 00:55:02 +08:00
@herich #23 上纲上线地说,工作时间写的任何代码,所有权都应该归属于公司;将公司代码上传至公共仓库,属于泄露商业机密没跑了。
|
68
dawn009 2020-01-22 02:43:30 +08:00
@sonicjam #67 未必。如果公司的程序依赖了开源项目,使用中发现了开源项目的 bug 需要提补丁,或者需要修改添加新功能,那么合并进去的补丁代码并不属于公司。
|
69
kwrush 2020-01-22 05:36:02 +08:00
你们导入新的库不经过讨论吗,随便自己就决定了?这样子都能过 code review 吗?
|
70
ericgui 2020-01-22 06:07:48 +08:00
这是不是所谓的 anti-pattern ?
|
72
AngryPanda 2020-01-22 07:45:00 +08:00 via Android 2
@tt67wq 就你这吊样还鄙视 php 呢
|
73
Vitta 2020-01-22 08:40:43 +08:00 via iPhone
跟他说一声改到公司仓库下看看这个问题是不是就解决了
|
74
littlebaozi 2020-01-22 08:48:53 +08:00
听说过更奇怪的呢,以前同事说,他们有个人代码是左对齐的
|
76
wsxyeah 2020-01-22 09:01:01 +08:00 via iPhone
掺杂私货,赶紧 fork 出来吧
|
77
xiaozizayang 2020-01-22 09:09:20 +08:00
公司流程有问题,你和你同事都没问题
|
78
BryanYue 2020-01-22 09:30:46 +08:00
不知道 这种 util 类的 封装到自己仓库 有啥意思?
|
79
nianyu 2020-01-22 09:31:12 +08:00
这是把握住了公司的命脉?
|
80
angryfish 2020-01-22 09:43:27 +08:00
人才啊,给了我新的启示
|
81
3img 2020-01-22 09:54:55 +08:00
作 为一个开发人员,少不了在屎山上翻屎堆
|
82
tyrantZhao 2020-01-22 09:59:56 +08:00
我觉得我找到了新的产出方式,以后跳槽有东西说了
|
83
keymao 2020-01-22 10:00:28 +08:00
面向邀功 面向跳槽式的开源项目。
怎么说呢,感觉没啥用 .... |
84
Kamiyu0087 2020-01-22 10:02:48 +08:00
封装库没错,不过不应该放在个人账号下,放公司账号或者公司的 git 仓库下就没问题
|
85
jsjjdzg 2020-01-22 10:04:12 +08:00
这个就是自带私货啊,产出大大的,下一次面试就说公司用的全是我产出的包
|
86
rioshikelong121 2020-01-22 10:07:17 +08:00
放到公司账户下,一起维护。
|
87
ispinfx 2020-01-22 10:07:18 +08:00
等下同事 Repo 的 issue 里全是 v2 观光团。。
|
88
shuperjolly 2020-01-22 10:12:45 +08:00 via iPhone
要么忍,要么滚,没别的。
|
91
tabris17 2020-01-22 10:21:51 +08:00
第三方库的代码也需要 code review
|
92
azh7138m 2020-01-22 10:30:43 +08:00 via Android
hhhhh
这个人还喜欢自己给自己点 star |
93
Ultraman 2020-01-22 10:36:28 +08:00 via Android
等一个“我就是那个代码被反感的同事”
|
94
Kontinue 2020-01-22 10:40:07 +08:00
我也觉得封装挺好的。。。总比我现在这个 spring boot 项目,controller 里几百行业务代码看的舒服。。。
|
95
mouyong 2020-01-22 10:40:41 +08:00
|
97
zzcworld 2020-01-22 10:53:04 +08:00
公司开发的代码不能引用个人的 github,这是常识。除非作者授权公司使用,并且将代码提交到公司的 repo
|
100
sdushn 2020-01-22 11:16:32 +08:00 1
律师函警告?如果工作里用到这些私人仓库,那么大概率会在工作时间修改这些仓库的代码,那么这些私人仓库代码应该归公司所有,他私人公开了这些代码,那么。。。
|