今年开始公司的操作包括但不仅限于
严格统计工时,任何工作都要填写工时
缺陷复盘,任何缺陷(包括优化类的)都要写一篇小几百字的总结来分析,并且 QA 还要骑在头上拉屎,写的不好甚至会以你态度不端正来 PUA 你
今天群里发了个代码行数提交统计工具,估计是要开始统计代码了吧
累了
其实我想吐槽的不是这些流程,而是这些流程基本都是浮于表面,数据可以想办法造,复盘文档可以套模板,甚至可以 chatgpt 生成,完全没觉得项目在变得好起来
1 zpaeng 2023-07-28 08:41:46 +08:00 这么可怕的吗 |
![]() | 2 blubzz 2023-07-28 08:42:29 +08:00 六字箴言 |
![]() | 3 justcho 2023-07-28 08:43:03 +08:00 ![]() 怎么搞 快凉了 |
![]() | 4 sqfphoenix OP @blubzz 我也想滚 奈何滚不动啊 |
5 Lax 2023-07-28 08:44:10 +08:00 ![]() 技术方面,外行指导内行。 当然从“管理”角度来看,老板可能是“内行”。 |
![]() | 6 iamppz 2023-07-28 08:44:56 +08:00 打开 prettier |
![]() | 7 BeforeTooLate 2023-07-28 08:45:33 +08:00 ![]() 这不是应了,当一个公司开始抓考勤了,那么这个公司离倒闭不远了 OP 早做准备,骑驴找马。 |
8 ohmyzsh 2023-07-28 08:46:12 +08:00 ![]() 同楼上,公司忙的时候几个月开一次会,闲的时候就开始搞事情了,抓企业文化。。。 |
![]() | 9 sqfphoenix OP @iamppz 请问 prettier 是什么呀 |
![]() | 10 airyland 2023-07-28 08:48:56 +08:00 ![]() 如果是 js 是不是要把 npm 入库。。 |
![]() | 11 9dP06m83vIV00l72 2023-07-28 08:50:47 +08:00 员工闲下来了,可老板没闲下来呀,汇报时不得有内容? |
![]() | 12 jazzg62 2023-07-28 08:55:28 +08:00 ![]() @sqfphoenix prettier 是代码格式化工具,可以多帮你加一些换行 |
![]() | 13 8355/a> 2023-07-28 09:00:08 +08:00 说到底还是因为 bug 太多+研发 leader 话语权问题 如果 bug 少 qa 没那么大权限的 |
![]() | 14 3032 2023-07-28 09:03:23 +08:00 ![]() 本人在老公司经历过,从忍的角度分享点当时大家众所周知的“技巧”: 1. 不要直接拷贝其他的代码变成你的代码(或只短短的改几行),这样会直接被发现不被统计到行数。 2. 如果非要拷贝,建议方法一定要改名,最好单起一个类名。 3. 把握好尺度,别把自己的代码行数搞的领先第二名好几个身位,这样铁定会被逐行看代码。 4. 要少量,多次,多天,多个文件提交,不要一次提交一大堆代码。 5. 最稳的还是写好自己原创的代码,不要优化,不要优化,不要优化,优化等于自己优化自己的钱包。 6. 不要看不惯钻空子的人,跟大家搞好关系,尤其是负责审查和打分的 leader 。 7. 本人老公司已经倒闭,距搞代码统计大概仅仅一年时间,目前深陷各项欠薪官司中,供您参考。 |
15 javen73 2023-07-28 09:03:32 +08:00 ![]() 以前这么写 if(){ } 现在这么写 if() { } 再加点注释,多创建点无用的注解 |
16 yfugibr 2023-07-28 09:04:42 +08:00 ![]() if (a == b) { return a; } else { return b; } |
17 jomalonejia 2023-07-28 09:05:26 +08:00 没啥意义 早晚要滚的 |
![]() | 18 ww940521 2023-07-28 09:06:38 +08:00 Java 源码每天拉出来一个类,没事看看还能涨知识。 |
19 QlanQ 2023-07-28 09:10:21 +08:00 业务不行就开始抓考勤,可以考虑跑路了 |
20 crazyTanuki 2023-07-28 09:13:26 +08:00 可以准备润了 |
![]() | 21 xiaokiku 2023-07-28 09:17:25 +08:00 代码如果可以用行数统计的话,我这菜鸡可以写到天昏地暗() 用最笨的办法实现(`。) 然后跑路 |
![]() | 22 qipan0321 2023-07-28 09:17:42 +08:00 op 银行系统的? |
23 laipidov 2023-07-28 09:18:37 +08:00 把 gpt 用起来,各种废话生成 |
![]() | 24 sqfphoenix OP @qipan0321 并不是,但是其实也有点相关 |
25 laipidov 2023-07-28 09:19:30 +08:00 ![]() 既然公司这样,那咱们打工的也得有对策,高强度使用 V2EX 就是一种对策 |
26 Navee 2023-07-28 09:21:52 +08:00 业务没有增长,只有在绩效管理上找增长点了 |
27 sloknyyz 2023-07-28 09:24:54 +08:00 ![]() 这是逼人自己提离职呢 |
![]() | 28 pengtdyd 2023-07-28 09:27:46 +08:00 if(1>0){ return true } else{ return false } 充分发挥一行变 5 行的才能 |
![]() | 29 sanmaozhao 2023-07-28 09:28:36 +08:00 ![]() 请参考西乔老师的漫画 拿代码量算 KPI……跟程序员们来这套?(上) https://mp.weixin.qq.com/s?__biz=MzAxMzMxNDIyOA==&mid=2655543803&idx=1&sn=71af5b312a839c4f5654991dda94bac1&scene=21#wechat_redirect 拿代码量算 KPI……跟程序员们来这套?(下) https://mp.weixin.qq.com/s?__biz=MzAxMzMxNDIyOA==&mid=2655543854&idx=1&sn=5934ca2b31d942145752a407d02fa7ac&scene=23&srcid=0728EAkDYVbYpeQHcMBkaSW9#rd |
![]() | 30 Natsuno 2023-07-28 09:30:26 +08:00 所有循环全部改成原生 for 循环,套娃就完了 |
![]() | 31 Vinceeeent 2023-07-28 09:30:59 +08:00 via Android 比代码行数的结果就是拉低代码质量。 |
![]() | 32 witcat 2023-07-28 09:31:26 +08:00 外包是用代码行数算钱的,所以外包都用 java 。听外包老板说的不是我说的。 |
![]() | 33 Lin0936 2023-07-28 09:31:37 +08:00 ![]() 把注释竖着写 |
34 Jirajine 2023-07-28 09:31:41 +08:00 ![]() 要让人矿产出更多价值,最直接的办法是缩短工期增加需求量让你们“自愿加班”,统计代码行数绝对是外行做法,这样会鼓励堆屎,能抽离的逻辑不抽离、能重复的不复用,也不会增加多少程序员的工作量。毕竟堆这种屎没啥心智负担,善用编辑器高级功能也不会有多少肌肉负担。 |
35 James369 2023-07-28 09:32:12 +08:00 代码行数,那不是强项吗,可以玩出花来 |
38 pandoudousteve 2023-07-28 09:40:36 +08:00 ![]() 建议准备跑路,凡是抓考勤,搞规则啥的,说明公司在走下坡路了 |
39 nothingistrue 2023-07-28 09:42:14 +08:00 老油条提醒:你必须认清楚自己工人的身份你的老板最多只能开出你,而你的牛逼哄哄的领导,实际上对你没有任何制约能力。 |
![]() | 40 aweim 2023-07-28 09:42:37 +08:00 如果这样;多写点无用的代码。本来一句话搞定的;多搞点代码出来。。。 |
41 nieboqiang 2023-07-28 09:43:15 +08:00 @airyland npm 一般不会,但是 css 可以啊,要是这么搞,先搞一套 less 生成 css 的脚本,看看谁刷的高。 |
42 flycat1626 2023-07-28 09:48:50 +08:00 虽然可以采取各种手段来进行针对,但其实我也觉得这种行为就是公司在走下坡的表现,现在流行的说法叫降本增效,保持一定的危机感,提升自己实力,做好最坏的打算。 |
43 vanityfairn 2023-07-28 09:49:04 +08:00 第一次听闻。。 原来我那家每天下班规划好明天的工时,写好明天每个小时预备要做的事情,发到自己的组织群里(按 8.5 个小时算一天)就够离谱了。 |
![]() | 44 mamumu 2023-07-28 09:52:03 +08:00 感觉是要裁员了 恶心点先让你自己走 |
![]() | 45 JamesR 2023-07-28 09:55:07 +08:00 公司效益估计开始走下坡路了,该准备骑驴找马了。 |
46 brader 2023-07-28 09:56:45 +08:00 多定几个变量 |
47 56rhcrivs55TVKdX 2023-07-28 09:58:14 +08:00 node_modules 提交到 git 吧 |
![]() | 48 shyrock 2023-07-28 10:09:22 +08:00 有业务干业务,没业务干员工啊 所有公司不都这样? |
49 felixpeng 2023-07-28 10:10:06 +08:00 所以统计代码行数这种规定是从哪里来的呢 |
50 AlpacaCode 2023-07-28 10:12:18 +08:00 go 的优势这不就来了=。= |
![]() | 51 key0323 2023-07-28 10:12:22 +08:00 ![]() 很多公司的代码质量就是被这种统计代码行数的操作搞烂的 |
![]() | 53 wonderfulcxm 2023-07-28 10:17:10 +08:00 via iPhone 不封装了直接复制粘贴完事 |
![]() | 54 qiumaoyuan 2023-07-28 10:26:03 +08:00 如果想混饭吃,留下来,使劲堆代码。不过堆不了太久,自己会承受不了 bug 和修改代码带来的压力离职; 如果不想浪费生命,觉得自己的时间比这两块工资值钱,或者技术上还想进步,趁早走人。 |
![]() | 55 jollylee2012 2023-07-28 10:28:46 +08:00 via iPhone 平安的? |
56 zjj19950716 2023-07-28 10:30:02 +08:00 导入三方库的时候不要导入,直接去把拷贝过来 |
![]() | 57 hackpro 2023-07-28 10:31:41 +08:00 via iPhone 这还不简单 直接 include 召开头文件 |
![]() | 58 amwyyyy 2023-07-28 10:32:25 +08:00 ![]() |
![]() | 60 um1ng 2023-07-28 10:33:06 +08:00 |
61 fox0001 2023-07-28 10:37:58 +08:00 via Android ![]() 写二元表达式和 Lambda 表达式的习惯,要改了… |
64 rs9G7IrdOdiNR3h1 2023-07-28 10:44:46 +08:00 代码行数是最 SB 的考核方式,没有之一 |
![]() | 65 pkokp8 2023-07-28 10:45:25 +08:00 ``` std::vector<int> exhaustiveSort(int a, int b, int c) { std::vector<int> sortedArray; if (a <= b && a <= c) { sortedArray.push_back(a); if (b <= c) { sortedArray.push_back(b); sortedArray.push_back(c); } else { sortedArray.push_back(c); sortedArray.push_back(b); } } else if (b <= a && b <= c) { sortedArray.push_back(b); if (a <= c) { sortedArray.push_back(a); sortedArray.push_back(c); } else { sortedArray.push_back(c); sortedArray.push_back(a); } } else { sortedArray.push_back(c); if (a <= b) { sortedArray.push_back(a); sortedArray.push_back(b); } else { sortedArray.push_back(b); sortedArray.push_back(a); } } return sortedArray; } ``` |
66 Biggoldfish 2023-07-28 10:46:16 +08:00 via Android 我没学过 loop 只能把同一段代码复制十遍了 |
![]() | 67 yunchuanwu 2023-07-28 10:47:17 +08:00 ![]() @sanmaozhao 从链接里找到了这个 https://mp.weixin.qq.com/s?__biz=MzAxMzMxNDIyOA==&mid=408059545&idx=1&sn=32a820ad8f669d7e19397420237f3e88&scene=21#wechat_redirect 16 年的脑洞,不知道 chatGPT 看了会怎么想哈哈哈哈哈哈 |
68 final7genesis 2023-07-28 10:48:31 +08:00 ![]() 几个 apache jar 的源码拆开提交就够你们用一阵子 |
![]() | 69 x86 2023-07-28 10:49:15 +08:00 金字塔 if 大法 |
![]() | 70 msywkylemon 2023-07-28 10:50:03 +08:00 坏了,知乎上的问题成真了 |
71 jzphx 2023-07-28 10:58:50 +08:00 我们也有,但我不管,没有底线的码农生成的一大堆 get/set 方法还不够,非要生成根本没用到的 equals/hashcode 和 toString 方法,我全给删了,一个功能提交几百行删除上千行 |
![]() | 72 daye 2023-07-28 11:02:00 +08:00 代码行数考核挺容易糊弄的,把之前用第三方 Jar 的都进去看看源码,搞成自己实现,那行数哗哗的涨 |
![]() | 73 zgw0 2023-07-28 11:06:23 +08:00 lint 规则改一改,每天提交几万行 |
74 hayala 2023-07-28 11:07:13 +08:00 套 10 层 ollvm ,再反编译复制出来,代码量能翻一千倍 |
![]() | 76 iture 2023-07-28 11:12:08 +08:00 ![]() 当你想将数字 0 赋值给 `a` 时: ``` if (true) { try { int a = 0; } catch (Exception e) { if (e != null) { e.printStackTrace(); } else { System.out.println("e " + "i" + "s" + " " + "n" + "u" + "l" + "l" + "." + "I" + " " + "d" + "o" + " " + "n" + "o" + "t" + " " + "k" + "n" + "o" + "w" + " " + "w" + "h" + "y" + " " + "h" + "a" + "p" + "p" + "e" + "n" + "e" + "d" + "." + ""); } } } ``` |
![]() | 77 excitedXXX 2023-07-28 11:13:22 +08:00 @Lin0936 笑死我了 |
![]() | 79 w950888 2023-07-28 11:25:45 +08:00 ![]() 有段时间比较清闲, 为了让自己维护的舒服些, 开始整理公司的 shi 山项目, 删除了大量冗余代码, 抽离很多通用模块,结果年底公司突然要统计代码行数, 统计到我的代码量是-5000 多行, 我人傻了. 好在公司只做统计没和 kpi 挂钩 |
80 inyu 2023-07-28 11:27:51 +08:00 下一步开始统计代码缺陷了 |
![]() | 81 swananan 2023-07-28 11:29:47 +08:00 阿里大概两年前就开始这么统计了,并且还有代码量少的人员盘点 |
82 Jtyczc 2023-07-28 11:40:36 +08:00 via Android 我觉得问 gpt 在原来的代码上加上注释,让他注释每一行 |
![]() | 83 hetingting 2023-07-28 11:42:54 +08:00 上有政策下有对策,往死里堆注释、堆无用代码,多使用.sleep() |
84 zengguibo 2023-07-28 11:42:56 +08:00 多写注释啊,注释多换行,行数又高,review 还能得高分 |
85 xiaolinzi 2023-07-28 12:00:41 +08:00 上次改一个 vue 文件,80 多个 if ,质疑他,理解他,成为他 |
![]() | 86 yrzs 2023-07-28 12:16:04 +08:00 一般这样操作,过不了多久就要倒闭了 |
![]() | 87 akira 2023-07-28 12:24:40 +08:00 你敢用代码行数算 kpi ,我就敢用复制粘贴大法,所有代码均不复用 |
88 wyl986 2023-07-28 12:47:47 +08:00 via iPhone 你把.gitignore 里面的/node_modules 删了不就行了 |
![]() | 89 3032 2023-07-28 13:12:16 +08:00 接 34 楼,吐槽归吐槽,但实际上程序员如何量化产出一直是个管理上的问题。顺便说一句,制定这个政策的人不是大家想象中的外行,也是多年的开发人员。大家吐槽的所有的点他肯定是知道的,即使如此依然搬出了这个制度,当时的理由是“利大于弊”,因为确实有不少混子产出很低,一天天的对着屏幕假装在思考。后来制度取消了,但是绩效制度改成了主观打分了,这似乎又跑到了另外一个极端。 我不是说在认可他的这个观点,我想说的是程序员量化产出(需要跟他的 level 相匹配),这个话题展开讲的话可能能说好多,确实是个有趣的话题。 |
![]() | 90 IsaacYoung 2023-07-28 13:19:04 +08:00 import isEven from 'is-even |
![]() | 91 getinlight 2023-07-28 13:22:27 +08:00 上游政策下有对策,既然想搞形式主义,那就上形势主义。 |
92 tanghanyu 2023-07-28 13:34:57 +08:00 @3032 #87 这个深有感触,很多资深开发和架构师在领导团队的时候也希望有办法能度量到人,特别需要给人打绩效的时候也希望能有一些相对客观的数据作为指标,从管理层角度来说也希望能够进行各个团队之间的横向对比。 业内也有像思码逸这种公司针对代码做加权评分的,这种度量一旦做了会导致数据失真,不做的话无法给管理层提供一些横向对比的数据,就很让人头大。 目前我们能用到的地方主要也就看看外包人员有没有划水的,比如一周提交 1000 行和 3000 行可能没有什么区别,但是如果一个开发人员一周只提交了 20 行我们就会认为这个数据是异常的。 |
93 iamee 2023-07-28 13:38:24 +08:00 via iPhone 代码行数只在一种情况下有参考价值,那就是被审核的人不知道你在用代码行数审核他。 |
![]() | 94 chiu 2023-07-28 13:41:27 +08:00 那不就是叫大家在山上面拉 |
![]() | 95 KOMA1NIUJUNSHENG 2023-07-28 13:50:24 +08:00 开始搞员工了,说明公司不行了 |
![]() | 96 7gugu 2023-07-28 14:33:58 +08:00 eslint 关闭! |
97 november 2023-07-28 14:45:03 +08:00 所有 if 都写 else ,即使 else 不用。 if (true) { // do notion } else { } 定义变量的时候用两行 let a = undefined a = 1 |
![]() | 98 shigella 2023-07-28 15:06:39 +08:00 @KOMA1NIUJUNSHENG #95 变恐怖故事了 |
![]() | 99 soupu626 2023-07-28 15:21:00 +08:00 @AlpacaCode 我们代码行数基础上还要求代码覆盖率,80%以上,基本上每个 err!=nil 都要覆盖到,单测写的累死,我现在基本操作是一个参数换一行,一个日志打印都能搞 3 、4 行 |
![]() | 100 lincanbin 2023-07-28 15:21:45 +08:00 在腾讯,跟你一样。 |