《关于我对审核同事代码的标准已经降低到“只要把所有成员命名按照驼峰规则+单词拼写没有错误就行了”然而她还是做不到的这件事》

2021-01-27 16:21:08 +08:00
 Vveeb
前提: .NET 开发,不是正规开发团队,帮国外分公司的开发打杂的,人家写好的框架我们在上面实现个小功能或者修 BUG 啥的。
本人水平也只是熟练使用 Console.WriteLine() 的水平,但是差不多也能看出来代码写的漂亮不漂亮。

OK,正文:组里的毒瘤同事终于要走了,走之前要给她之前的工作交接给我。因为这些成果最终还是要提交给国外开发团队去 Merge 的,所以之前需要我评审一下,尽量符合人家的标准。

拿过来先看她做的类图,基本都是“望文生疑”这么个状态。我让她:“这里,这里,方法名单词首字母大写,这里拼写不对,你回去改一下,然后从头到尾自己查一下,没问题了再给我”。

过会儿,告诉我改好了没问题了,我随便看,还有同样问题,又让她改+自己查。

就这样来回来去三四遍了,一个类图,里面总共列出来才不到 200 个成员,每次说改好了没问题了,我都还能发现“大小写”&“拼写”问题。

所以说之后评审代码这种事是我完全没有勇气去做的,里面放眼望去基本都是 Yin 间代码。
15271 次点击
所在节点    程序员
144 条回复
caaaalabash
2021-01-27 16:48:48 +08:00
哈哈哈哈哈标题是在模仿番名吗
Vveeb
2021-01-27 16:49:00 +08:00
@WinnieNumberTwo 不不不,我们本身就是个测试部门(还是黑盒),这个人本身工作能力+做人、做职场人更不行,跟她共事过的人都跟她干过架不愿意待见她,自己提的不想在我们组干了,转去别的组了。难受了一年多终于等到这个神仙走了!
Vveeb
2021-01-27 16:51:02 +08:00
@Rwing 嗐,这就涉及到我这个基本类型互相转换都要现去百度的选手的知识盲区了。知道有 .editorconfig 这么个东西,没研究过。
Vveeb
2021-01-27 17:02:13 +08:00
@airfling “什么时候修改好了什么时候我再合,反正我不嫌烦”

讲道理流程确实应该是这样的,但是这个人,为什么叫她“毒瘤”呢,因为她永远都是“理不直气也壮”,而且脑回路跟一般人着实不一样。共事的这一年多,经常被气到想要原地去世。而且在一个本不是开发的部门做开发的工作,就很难,领导都不会开发,向上反映开发的问题,费时费力。
jones
2021-01-27 17:02:57 +08:00
十年前总是追求 LZ 说的这些,现在所有命名都改拼音了
fffang
2021-01-27 17:04:21 +08:00
@Vveeb 这个复杂度怎么算的?
forgottencoast
2021-01-27 17:04:48 +08:00
@Vveeb 为什么上级领导坐视不管,是他亲人吗?
Vveeb
2021-01-27 17:08:06 +08:00
@jones 哈哈哈,我看别的公司我朋友写的代码,命名都用中文的,但是我们这个不是国内的项目,所以没招
Vveeb
2021-01-27 17:10:25 +08:00
@fffang 我用的个叫 “CodeMaid” 的插件,提供了一个很 nic 的 e 窗口,上面列出了所有成员,方法,返回值类型,方法复杂度。 我之前还用过一个叫什么 “CodeMatrix”(记不太清),是直接可以在方法前面标注出方法复杂度的。
zypy333
2021-01-27 17:12:00 +08:00
用书名号我还以为是讨论另外一个帖子呢, 这也属于不符合规范吧

我这个小公司也有这种同事, 各种下划线驼峰大小写来回穿梭用, 这边都没代码审查,当初把我跟他分一组, 找理由婉拒了,感觉只要不接手不合作,再乱由他乱去吧
Vveeb
2021-01-27 17:13:23 +08:00
@forgottencoast 也不是不管,我们这儿说白了是个外企养老公司,公司基本不会主动开你,因为开人公司还要赔偿。
这个交接工作进行了一周下来,她已经成功气坏了我 + 组长 + 科长 (除了我都不是开发)。甚至三人组成了“同仇敌忾”小组。
lemon94
2021-01-27 17:15:39 +08:00
@Vveeb 第一条,如果业务需求中就有很多条件判断的话不用 if else 有什么别的办法么
Vveeb
2021-01-27 17:16:11 +08:00
@zypy333 Sorry Sorry, 在这个社区混( mo )迹( yu )时间不长, 条条框框的还没来得及仔细了解。
cco
2021-01-27 17:19:14 +08:00
俺们一个接口能大约有 30 多种功能- -。
冰山一角,冰山一角。。。
Vveeb
2021-01-27 17:21:46 +08:00
@cco 这不是接口,怕不是个“接洞”了哈哈, 虽然我也不太懂接口是啥,没设计过
cco
2021-01-27 17:23:39 +08:00
@Vveeb 据说是为了接口复用。除了请求报文和响应报文长得一样外- -。我没觉得哪里可以复用的。这种还有很多,最近改 bug 快疯了- -。
Vveeb
2021-01-27 17:28:30 +08:00
@lemon94 Emmmm 我也是菜鸟,搞个“设计模式”啥的? 之前还特意去查了 “优化多 if else 分支”的方法。有啥“反射+字典”的,还有啥一些我也不太懂的。反正就我们现在这个微乎其微的代码量+业务逻辑需求。

有一个事件处理方法是处理所有收到的消息,然后要判断这个消息各个属性的值是什么来进行不同的处理,我目前能想到的,就是写一个类,然后用收进来的消息构建类对象,逻辑放在类里面的方法&属性 GetterSetter 去处理。
zypy333
2021-01-27 17:34:28 +08:00
@lemon94 整理清楚,拆分到不同抽象层级里的方法里去就差不多了吧,也可以用卫语句提前 return,参考<<代码整洁之道>>,设计模式的话,有模板模式,策略模式等可以用
lemon94
2021-01-27 17:39:28 +08:00
@Vveeb 你说的映射+字典我也在用。我是做前端的,经常会根据后端返回的状态码来展示不同的文字,这种时候可以把状态码和对应的字符串以 key-value 形式保存在字典里,用的时候可以直接映射取值。但如果状态码对应的不只是字符串,而是一整段逻辑,这时我就只能用 if else 判断,虽然丑陋,但想不到更简洁优雅的方式。
jadeborner
2021-01-27 17:42:17 +08:00
这个同事长得怎么样?

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

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

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

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

© 2021 V2EX