当你有那种把 Java 当 c 语言写的同事时,你很难不心态爆炸!

2019-11-28 19:28:50 +08:00
 LeeChP
项目终于进入了第一版本的测试。开始对接了。原本的模块能单独运行,但是对接不上。因为他们就没考虑到状态控制。简单的观察者模式加简单多线程就行。花了一周帮他们填上了。
对接,测试,心态爆炸,就测了两个状态,我就侵入了他们很多子模块。没有接口,没有抽象。我不得不各种 cv。服了。40 多个状态量,我不想玩了。明天开会就提重构的事。
7317 次点击
所在节点    职场话题
38 条回复
Nazz
2019-11-29 15:38:35 +08:00
和 java 出身的人一起写 golang, 我也很难受
wellhome
2019-11-29 17:03:42 +08:00
没看懂,有些业务真心没觉得一定要 oo.
oo 不是万能药,这个抽像那个抽像
你怎么不把 printf 抽像了?
xpol
2019-11-29 17:30:13 +08:00
你说的这些都是个人工程能力、不关 C 语言的事。
axwz88
2019-11-29 17:41:13 +08:00
@wellhome 歪个楼,我也很反感这种为了抽象而抽象,为了封装而封装,什么鸡毛都要做成接口,脱裤子放屁(不是针对楼主)
strider
2019-11-29 17:44:58 +08:00
这个跟 c 语言没关系。
pipi32167
2019-11-29 20:13:02 +08:00
@wellhome std::cout,你值得拥有
uyhyygyug1234
2019-11-29 20:17:33 +08:00
@df4VW 这个可以详细讲讲么
LeeChP
2019-11-29 20:19:32 +08:00
@wellhome 大量相同的方法,行为不一样,为什么不做个接口或者父类出来呢?
LeeChP
2019-11-29 20:21:26 +08:00
@axwz88 大量的相似类,你们真的不考虑把他们抽象个父类出来吗?
wellhome
2019-11-29 20:29:13 +08:00
@axwz88 我也不是针对楼主。我看到一共只有三四行的类,就脑仁疼,而且名字都是老长老长的,这得亏有 ide 自动补齐,否则光敲这些个名字就累死人
inwar
2019-11-30 10:32:56 +08:00
写 c 的日常是全局变量函数返回 void,入参当作指针用。我接过这样的 java,比楼主难过
IGJacklove
2019-11-30 13:10:21 +08:00
@wellhome Java 这边就是这种风格的,方法或参数的名字尽量表达明确,长不是问题,就怕 来个 int n, m 这种的,我看个代码参数还要看上下文才能明白。
yingo
2019-11-30 14:59:39 +08:00
和语言无关
shawnsh
2019-11-30 15:52:41 +08:00
C 语言也有接口,抽象
xsen
2019-11-30 16:38:29 +08:00
Java 这种为了抽象而抽象还算好的,毕竟灵活度没 C++高。恶心的就是,用 C++做的,然后为了设计而设计,为了抽象而抽象——简单点就是过度设计,用烂了,一堆坑,全是坑。

——————————————————————
更恶心的是没注释,没文档;变量命名用的全是缩写——有拼音缩写的,有英文缩写的
当然,代码量还大,将近上百 M 的代码量

这也是为什么很多人现在,毕竟喜欢 go 那样的风格。简单,清晰——语言层面提供足够多的基础功能
xsen
2019-11-30 16:41:05 +08:00
楼主说的这种呢,就是需要一个人,把整个框架搭建起来,定义清晰的接口,实现模块或子系统之间的接口层
然后子模块子系统内部,你管他怎么做

还有,建议没事不要用继承了,很容易滥用,不可控。组合配合清晰的设计,是最理想的
firefox12
2019-11-30 21:42:51 +08:00
我寻思着 这里就没一个靠谱的人, 缺一个架构师, 需要一个人在 2 个团队 在交互前,把你们交互的方式 方法 如何调用,公共定义,职责都定义清楚。然后 大家面向接口编程,至于别人的代码怎么写,写多烂你管得着吗? 只要给你的接口可以工作,就 ok. 这里最大的问题 是根本没人搞过这个, 还说别人烂? 这就是项目管理烂, 架构设计烂,代码烂不烂的已经不重要了。


我买的是个门锁,只要能装上去,插上钥匙可以打开 就可以,你管我里面是怎么工作的。你根本没定义门锁和门的接口,还来说我门锁设计得不好?
mikulch
2019-12-02 22:16:14 +08:00
工程能力好的人可遇不可求,而且有时候这些人工资不一定高。因为做的都是一些细的,似乎不太明显的活。

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

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

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

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

© 2021 V2EX