不谈技术好坏,就编码风格来说。和同事协同开发,同事特别喜欢搞一些封装,整个项目前期主要是他一个人撸的,项目中有不少他自己写(封装)的库,
本人有一些代码洁癖, 能用内置库和官方库解决问题的绝不使用第三方库尤其是个人的库,项目中处处都是 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 ![]() 别的不说,你这个和没打一样,搜一搜 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 ![]() 公司的东西就这么让他封到自己的库里? |
13 一位不愿被透露姓名的 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 ![]() 这种人我也碰到一个,而且他去了阿里 这叫“产出”,是一种面向跳槽的编码方式 |
![]() | 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 ![]() 公司的代码又不是你儿子,有啥好介意的,有人喜欢操心还不错的,只要工资有,别说用垃圾库,用 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 ![]() 商业互吹一下:张哥代码太棒了,建议提到部门公司级别,基于公司名称商帮有限公司,起名*bstring, s*cache,等等 |
35 不封装,这个帖子估计就改成,很反感同事写的代码,功能块都不封装一下,代码文件一大坨 |
![]() | 36 herich OP @MissThee 封装无可厚非,但有的东西明明有优秀的三方库,为什么要再封装成自己库?如果参与这个项目同事都按自己喜好来封装成自己的方法接口,项目的可维护不太好吧?这是编码习惯不同产生的矛盾。 |
![]() | 37 zlfoxy 2020-01-21 18:57:23 +08:00 ![]() https://github.com/zlyuancn 楼主你这码打的毫无意义呀。。。。 |
![]() | 40 gamexg 2020-01-21 19:02:02 +08:00 via Android 封装很正常吧。 一些常用功能标准库、第三方库没有的功能不封装每次都打 x 行真没意义。 不过封装到自己的仓库就有些问题了。 |
42 katsusan 2020-01-21 19:07:5 +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 ![]() 我看了下他仓库,一堆自己封装的东西,项目里面这么用,有够自恋。你们没技术总监?他这样用自己的库,那这个项目他走之后,谁敢接啊 |
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 ![]() @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 GBdG6clg2Jy17ua5 2020-01-22 09:43:27 +08:00 人才啊,给了我新的启示 |
![]() | 81 3img 2020-01-22 09:54:55 +08:00 作 为一个开发人员,少不了在屎山上翻屎堆 |
82 geminikingfall 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 ![]() 律师函警告?如果工作里用到这些私人仓库,那么大概率会在工作时间修改这些仓库的代码,那么这些私人仓库代码应该归公司所有,他私人公开了这些代码,那么。。。 |