我打工的小作坊主打一个短平快,项目制。需求,代码一直在变化。主要服务银行,政府等老式客户。 这大哥遗留的代码,vue2.7setup,TS+自己封装的一塌糊涂的 element-ui,不知道当初怎么跟服务端协商的,请求参数加密,登录前端校验 token 过期时间,各种离谱操作。工期又紧,晕了
1 wsseo 2024-05-10 12:01:58 +08:00 是这样的 |
![]() | 2 a4854857 2024-05-10 12:16:16 +08:00 都不知道几手代码了.是这样的 |
![]() | 3 laogui 2024-05-10 12:24:48 +08:00 via Android ![]() 是这样的,你后面的人也会被你的代码气晕 |
![]() | 4 guanzhangzhang 2024-05-10 12:26:00 +08:00 |
5 Lirika 2024-05-10 12:26:00 +08:00 传说中的屎上雕花,你让他回来看他都不一定看得懂 |
6 qazwsxkevin 2024-05-10 12:28:33 +08:00 ![]() 你好,我就是离职的那个,你也会说“跟服务端协商”,“工期又紧”,“各种离谱操作“了,我很欣慰。 |
7 C4D4zRNpq9vFSlJW 2024-05-10 12:31:58 +08:00 ![]() @guanzhangzhang 那也没用的,经过若干年后,经手的人多了,后来的人不更新 readme 和注释,再后来的人也是没办法,甚至会因为老的 readme 被误导。目前这种职场环境,这种情况无解。 |
8 cybort 2024-05-10 12:32:24 +08:00 via Android 要不为啥离职 O_o |
![]() | 9 doommm 2024-05-10 12:32:28 +08:00 via Android 短平快,需求代码又一直变,应该也缺乏文档,只能靠口口相传,变成什么样都不奇怪。不过这个技术栈我觉得没什么问题 |
![]() | 10 guanzhangzhang 2024-05-10 12:35:38 +08:00 @imboring 我自己做事是这样,其他人就不管了,尽量让以后接我手的人不难受 |
11 C4D4zRNpq9vFSlJW 2024-05-10 12:37:17 +08:00 @guanzhangzhang 是的,我也是这样,不然浑身难受。 |
![]() | 12 CJ2r4u3EH4lrM7aR 2024-05-10 12:37:24 +08:00 只要接手的所有人水平还行,bug 都是有迹可循的。怕就怕某一个是个半吊子,直接把 bug 当基座往上堆业务。还有一堆破釜沉舟式代码,完全不可扩展。 |
![]() | 13 Rrrrrr 2024-05-10 12:38:56 +08:00 别人离职了,你还没放过 |
![]() | 14 ivvei 2024-05-10 12:41:32 +08:00 via Android ![]() 你碰过了,以后这个代码就属于是你留下的了 |
15 kneo 2024-05-10 13:03:11 +08:00 via Android 我看不出来“请求参数加密”有什么离谱的。 |
![]() | 16 chenshaxiong 2024-05-10 13:07:35 +08:00 via iPhone @imboring 老板难受,老板痒呗 |
![]() | 17 murmur 2024-05-10 13:08:40 +08:00 @kneo 今天刚处理一个类似的需求,有个客户没事就找人漏扫,昨天要求我们 api 地址和 webpack 加载的模块名在生成的 bundle 不能用明文 |
![]() | 18 Baymaxbowen 2024-05-10 13:09:21 +08:00 各种客户急着要,今天就要上,A 客户要这样,B 客户要那样,C 客户都不要 |
![]() | 19 zhumengyang 2024-05-10 13:09:24 +08:00 (又不是不能用 |
20 LandCruiser OP @qazwsxkevin 工期紧还搞 ts 各种封装?完全是反向操作啊 |
&nbp; 21 LandCruiser OP @cybort 全部代码他自己写的,不用 ts ,不过度封装工期就不紧,我基本都是 6 点下班 |
![]() | 22 yogogo 2024-05-10 13:13:09 +08:00 via Android 这叫不可替代 |
![]() | 23 estk 2024-05-10 13:24:52 +08:00 via iPhone @LandCruiser #21 什么年代了还有不用 ts 的纯 js 项目? |
24 LandCruiser OP @estk 注意看我交代的背景,小作坊,需求经常变化。不用 TS 到点就下班,工作很轻松。这个大哥遗留的项目是 TS 的,原本 5 秒写完的发送一个请求代码,在他这里边直接变成一个 service ,复杂谈不上,就是一堆看起来很严谨,但是没用的代码。。。 |
25 kneo 2024-05-10 13:40:47 +08:00 via Android ![]() @LandCruiser 变成 service 和用 ts 有啥关系?你说的 ts 是 typescript ? |
![]() | 26 yidinghe 2024-05-10 13:44:54 +08:00 不一定是他一个人留下来的,我这边也有一个前端项目,历经多个版本最后形成了结合 jQuery 和 VUE 的形态,也就是部分页面是纯静态的,部分页面是要编译的…… |
![]() | 27 qloog 2024-05-10 13:45:04 +08:00 那机会不就来了,给它弄的优雅点 |
28 kneo 2024-05-10 13:47:29 +08:00 via Android ![]() 再多说一句,从你的描述上来看,你的前同事看起来是一位非常优秀的同事。看这架势,他辛辛苦苦盖了间房子,他的后辈找不着钥匙恐怕要直接把房子给拆了。 |
![]() | 29 ColdBird 2024-05-10 13:50:54 +08:00 人员交替快的地方都 n 手代码了,有的 vue 文件动不动 3 、5K 行,然后到处都是复制粘贴的代码,习以为常 |
30 43n5Z6GyW39943pj 2024-05-10 13:51:16 +08:00 ![]() 看描述前面大哥技术确实没有问题 倒是你的想法 "原本 5 秒写完的发送一个请求代码", 有点 |
31 lyb11232345688 2024-05-10 13:52:43 +08:00 人家自己都干不下去了 你还接着干 |
![]() | 32 chenalex 2024-05-10 13:58:38 +08:00 除了"登录前端校验 token 过期时间", 其他没看出有什么问题 |
![]() | 33 92Developer 2024-05-10 13:58:43 +08:00 多拉些你的屎,到时辞了你还得把你招回来。 |
![]() | 34 zzNucker 2024-05-10 14:08:14 +08:00 ![]() 你把你写的代码和他写的代码都发给 ChatGPT ,让公正的 GPT 评价一下 |
![]() | 35 wakarimasen 2024-05-10 14:10:16 +08:00 via Android 你是想说,很多请求本来可以直接在 methos 里面 fetch 短快平,但是他非要抽离出去自己搓了一套类似 rtk query 的 endpoints 或者 spring controller 的玩意? 不过这跟 ts 有什么关系,你不想标注类型,tsconfig 调宽松到处 any 不就退化成 js 了吗? |
![]() | 36 chinaguaiu 2024-05-10 14:15:42 +08:00 @guanzhangzhang #4 写注释还可以,不会被轻易删除。但是 readme 和博客真的没人看,也容易弄丢,工期紧的时候也没有太多时间另外去整理思路写 readme |
37 legendBro 2024-05-10 14:15:48 +08:00 你猜为什么他离职 |
![]() | 38 zephyru 2024-05-10 14:21:51 +08:00 ![]() 加 ts 封装(或者任何抽象吧)基本考虑的是维护方便,不想管直接 any 走天下也没什么区别...我觉得不至于套一层 ts 封装把工期拉长多少... |
![]() | 39 guanzhangzhang 2024-05-10 14:28:45 +08:00 @chinaguaiu gitlab 上的 README 还不看吗,那看啥,oa 上留的聊天记录吗 |
![]() | 40 darson 2024-05-10 14:28:46 +08:00 大作坊其实都差不多的 |
![]() | 41 JefferyWang 2024-05-10 14:29:40 +08:00 你后面的人也会被你的代码气晕 |
42 wdg8106 2024-05-10 14:39:40 +08:00 一句工期紧就能说明所有的问题了,后面的人接手你的代码,估计也是一样的吐槽 这不是你或他的问题,是公司的问题,要抓住主要矛盾呀 再就是工期紧跟你有啥关系,正确评估出来工期,反馈给 leader 就行,该延期就延期呗(有加班费另说) |
![]() | 43 Yasuo666 2024-05-10 14:52:34 +08:00 他当时的处境跟你一样,当然你的下一个接班人也会跟你有同样的遭遇。 |
![]() | 44 DAMNYOU 2024-05-10 14:54:41 +08:00 纠正一下。这个现在是你的烂摊子。不是他 哈哈 |
![]() | 45 windsound 2024-05-10 14:58:02 +08:00 @qazwsxkevin #6 哈哈,这。。。是本尊来回复了吗?世界这么小。 |
46 propc 2024-05-10 14:58:34 +08:00 @qazwsxkevin +10086 优秀,应该如此~~~ |
![]() | 47 VeteranCat 2024-05-10 14:59:18 +08:00 看来喜欢套壳这点,在哪都是一样的。 将来别人看你的代码也会是一样的感受,什么 chatgpt 替代开发,做梦哟。chatgpt 恐怕自己的屎山也不小。 |
![]() | 48 otakustay 2024-05-10 15:00:22 +08:00 别在意,你的下一个接手者也会被你气晕的,哪怕这项目是你从 0 开始搞起来的 |
49 ZGame 2024-05-10 15:10:35 +08:00 @LandCruiser #24 我怎么感觉是你菜... |
![]() | 50 an0nym0u5u5er 2024-05-10 15:12:53 +08:00 如果你接手的代码就一两个人开发的,那么其实还好,只要掌握一下他的思路,跟跟代码,也就 OK 了 几年前我修过一个考试系统,这个系统的基础框架也是作者自己开发的,没用市面上的框架,但是其实大同小异。 最恶心的是在 IDE 里面一个 git blame 就能看到 10 个人改过的那种,5 年以上的项目,我也经历过,还被 TMD 老人 diss 能力不行,几乎没文档,几年一直迭代,shit in shit ! |
![]() | 51 yuntun 2024-05-10 15:24:52 +08:00 这才是核心技术人员(赞赏 |
![]() | 52 RogerL 2024-05-10 15:29:55 +08:00 听着咋像是我写的?不过我没干过校验 token 过期的事情 |
53 blackmirror 2024-05-10 15:38:04 +08:00 你就说能不能用就是了,能用还要什么自行车 |
![]() | 54 daodao 2024-05-10 15:48:03 +08:00 别人都离职了,你还不放过自己,还要在屎上雕花。赶紧甩膀子别干了~ |
55 taoey 2024-05-10 15:54:27 +08:00 是这样的,建议重构(估计老板不会给你时间) |
56 yifangtongxing28 2024-05-10 15:58:37 +08:00 码农这份钱难挣就体现在,老板只管加需求,从不考虑你的代码是不是有问题 当然,人和代码,总有一个能跑就行了 |
![]() | 57 dumbass 2024-05-10 15:59:42 +08:00 啊,怎么感觉是在说我哈哈 |
![]() | 58 nxforce 2024-05-10 16:02:04 +08:00 这真是祖传代码了,严重影响生活质量的玩意儿。 接了这个真是倒大霉,能力挽狂澜的都不是普通人,要么甩手开摆,要么继续往上堆屎,直到屎山摇摇欲坠。 |
![]() | 59 chinaguaiu 2024-05-10 16:12:50 +08:00 @guanzhangzhang #39 微信聊天记录+口口相传 |
60 991547436 2024-05-10 16:12:52 +08:00 再拉一坨呗,还能咋办 |
![]() | 61 wupher 2024-05-10 16:16:27 +08:00 我也碰到过类似情况。 一开始是沉迷封装,啥都要搞自己的一套,但本质上还是 Spring ,可能显示我为公司封装了框架?? 后面就碰到分项目,其它人直接 copy / plaster ,碰上不支持开始各种魔改,或者要求他更新。 最后,这东西变成了防御性编程 :-) 屎上雕花这个算最准确的了。 |
![]() | 62 a5X77vajGRyLA2aF 2024-05-10 16:22:28 +08:00 ![]() 只听你的描述: 1 、 你没了解前辈的需求背景,业务逻辑 [看不懂代码||看不惯代码风格] ,就吐槽代码为“屎山” 2 、 你的前辈使用了 TS 和封装,你觉得繁琐,评价为“屎” 给我的感觉,你的前辈在做工程化的项目,你在“短平快”地糊屎。 你觉得你比你前辈优秀,可以贴代码||方案出来,看看别人是否赞同你 |
![]() | 63 luckyjack 2024-05-10 16:24:43 +08:00 ![]() 未经他人苦,莫喷他人屎(狗头 |
![]() | 64 chill777 2024-05-10 16:28:45 +08:00 小公司,就自己重构,反正参与项目的人没几个。 |
65 jefferyJQ 2024-05-10 16:32:52 +08:00 @LandCruiser #24 你的意思是他前端写的代码分层了,你觉得分层没用? |
![]() | 66 justsosososo 2024-05-10 16:35:20 +08:00 是你 ts 不熟吧,哈哈哈哈 |
![]() | 67 nikola11 2024-05-10 16:35:49 +08:00 没有完美的代码 能跑比啥都强 |
68 aikilan 2024-05-10 16:37:35 +08:00 我上次喷菜鸡前同事写的屎山,直到我放出代码,才开始有人同情我,你不如也放出来糊糊大家的眼睛。 |
69 alexwrong 2024-05-10 16:38:03 +08:00 你离职后你写的代码 也是屎山 |
![]() | 70 needpp 2024-05-10 16:41:21 +08:00 @qazwsxkevin 哈哈哈,终于知道你为何离职了 |
71 salmon5 2024-05-10 16:47:58 +08:00 ta 只是技术不行,不是人品不行(没在你工位上拉屎),所以可以理解。 |
72 isnullstring 2024-05-10 16:48:13 +08:00 短平快,那就没什么好说的,不爽自己重新整 |
73 migu 2024-05-10 16:53:26 +08:00 不是,OP 哪里贴了代码,咋不行啊,一行代码都没看到,你们咋就觉得是那位同事的问题了( |
![]() | 74 dz5362 2024-05-10 17:04:25 +08:00 @qazwsxkevin #6 哈哈哈,有趣 |
![]() | 75 ThinkCat 2024-05-10 17:15:45 +08:00 代码和人,有一个能跑就行 |
![]() | 76 sleepyfevniv 2024-05-10 17:35:21 +08:00 我很欣慰的,离职 2 年路上遇到了前同事,说只有我的代码是注释完整的,可读性好很多,至少不算是特别屎山 |
![]() | 77 lwldcr 2024-05-10 17:39:38 +08:00 看我上个帖子 |
![]() | 80 wusheng0 2024-05-10 18:10:17 +08:00 via Android ![]() 吐槽 TS 没看懂,配置一下全部 any ,不就和 js 一样了。 后来的人:被已离职同事遗留的项目气晕,TS 都用 any ,什么水平 |
![]() | 81 leegradyllljjjj 2024-05-10 18:35:16 +08:00 堆屎者恒被人堆之,此为无间堆屎地狱 |
82 FireKey 2024-05-10 18:35:29 +08:00 这种情况让 ai 去读代码真的很好用 |
![]() | 83 ruoxie 2024-05-10 18:43:05 +08:00 via Android 其它不知道,但是吐槽 ts 就有点。。。19 年开始用 ts ,不用 ts 影响我下班,特别是接手不是 ts 的项目 |
![]() | 84 Daming 2024-05-10 19:00:35 +08:00 1. OP 大概率不熟悉 setup 2. OP 大概率不熟悉 TS 3. 参数加密没毛病 |
![]() | 85 TimPeake 2024-05-10 19:31:05 +08:00 看到项目里有人用 jsonSchem 封装 element ui 表格 ,我就想上去给个大逼兜子 |
![]() | 86 Jinnn 2024-05-10 20:18:48 +08:00 都短平快了,还会有什么项目质量 |
![]() | 87 xiangyuecn 2024-05-10 21:07:54 +08:00 手艺人 |
![]() | 88 behindeye 2024-05-11 00:24:03 +08:00 ![]() 我也接触过屎山,但我知道及时我看这些代码很不顺眼,很不爽,我也不会随便去重构,虽然它烂,但是它能运行就说明此时此刻的状态是稳定的,也别手贱跟领导说要重构,就在这基础上修修改改,我曾经吃过亏,觉得要大刀阔斧去优化代码,殊不知任何一个魔法值的变量都是有意义的,包括随处散落的硬编码字符串,你理解不了这块逻辑,不代表这块就是没有用 |
89 ShuWei 2024-05-11 01:18:26 +08:00 我经常被自己几个月前的代码气到不行 |
90 BraveChi 2024-05-11 07:36:10 +08:00 via Android 山代码的主观原因是:缺少设计模式和缺少代码规范和审查。客观原因是需求变动混乱(不是快,而是乱或者开发人员不理解需求从而修改多次),设计分析不足出现问题重复改动。后人几乎不要想着纠正过来,除非拿出两三倍的工作量,但是现实不实际。 |
92 kneo 2024-05-11 08:44:03 +08:00 via Android @chenalex 前段校验 token 过期时间单独拿出来说也不是什么离谱的事情。很多系统都会有 token 过期自动重新申请的功能。前段以前校验可以增加平滑度。前段校验也不等于后端就不校验。 |
93 haoswil 2024-05-11 08:46:52 +08:00 @guanzhangzhang 馆长好,没想到看到熟人,在这里逛都是职业焦虑的 |
95 LandCruiser OP @kneo 你的描述不准确,我这个前同事是技术优秀,但不懂得因地制宜,把简单问题复杂化了。也不存在找不着钥匙的问题,活儿我都干完了。拆房子是真的,交不起物业费没必要住别墅。随便搭个草房子就可以了。早点下班回家才是真的,其他都是扯淡。 |
96 LandCruiser OP @jjwjiang 有问题,前端校验 token 过期与否还是需要调一个接口获取服务器时间(或者什么标识)。这不是脱了裤子放屁吗? |
![]() | 97 mHKy6969 2024-05-11 09:03:28 +08:00 政府有什么,街道退休人员登记系统都是发包。12345 政务 2023 年全年投诉登记表 10M ,12345 政务除微信小程序,网页版没法登录,广东省建委投诉平台,20 年前可直接投诉今天关闭了。政府只有一地鸡毛。 |
98 LandCruiser OP @Daming 运行在银行内网的项目,请传授传授参数加密的作用,学习下。 |
99 LandCruiser OP 下沉了,争论也没啥意义 |
![]() | 100 sinx003 2024-05-11 09:15:39 +08:00 也可能这哥们接手的时候 也是这样.受不了了就走了 |