我遇见的奇葩C++程序员

真友 发布于 2016/01/20 23:06
阅读 4K+
收藏 1

一直在osc潜水很少发帖,偶尔发博客,今天动弹了下,对于那些 老几代的 抱残守缺的 顽固不化的C++程序员发了下感慨,回复的人不多,大致说我太年青 说我太偏向php的。于是发了我在osc的第一个问答,当然和技术无关。

先说下情况

公司人不多,是做路由器开发的,ap部分是外包给其他人,完全基于c,由于我一直专注于php,所以我一点都不关心底层的东西,只是出于尊重和礼貌跟着听了下。谈需求的时候大致听出几点,

1.概要设计很重要,基本以是否会概要设计来定论一个人的技术水平,说实话我并不理解啥是概要设计,后来才知道其实就是类似需求设计。

2.完全依赖于概要设计,多次提出只要完成概要设计后面都是体力活,其实需要一般的设计来完成概要设计。

3.拒绝使用开源的东西,所有模块功能自己写,不过后来这些鸟人还是基于wifidog来开发。污。。。

4.纠结于长连接短链接,主要是考虑到服务端的部署,我提出用nginx作服务端,被喷了。不过我默认吧既然那么牛,你们自个捣鼓吧,而且基于底层的他们比较有话语权。

工作分配下来,公司完成服务端(用c++),ap部分外包给对方,时间2个月,结果

1.的确花了大半个月时间在概要设计上,但是花在开发的时间大概有3个月,不是需求改变,是ttmmdd根本技术不行太自行,估计以后一直在单片机上开发一旦网络联调或者和网络相关的脑袋转不过来,做互联网产品更多时候是体现在产品方面的知识量并非只是技术。

2.对方c和我方c的固执,遇见bug的时候双方先口舌理论半天,我听得头疼,直接代码实践下不就好了。

3.我方的质量相对要高些,但是太过于自大,http的协议完全用c来实现,要传递数据到我php这边,php简单了,就是lnmp的环境,但是c那边拼接的http协议估计错误了,链nginx都没过,死活说是我的问题,最后我各种浏览器模拟http,c才去修改,几天后调试成功了。

4.对方c的质量能有多差就有多差,那代码乱七八糟的,各种不规范,我是个不太提倡注释的人,现在我知道为什么必须要注释了,不然根本没法看。

5.尽管如此,目前产品还是测试阶段,按照目前情况根本不可能正常上线。

总结,

1.那概要设计体验的不是个人的技术水平,更包括对产品的调研,本身技术水平的评估等。

2.和c真的很难沟通,例如接口,用resful api的思路和俩c都沟通不来,完全没有互联网的概念。

3.写得一手好文档,很规范很清晰。但基本很少按照文档来。

以下是话题补充:

@真友:声明下,我对说明语言完全没有任何偏见,所有个人观点完全基于和人的交流问题 (2016/01/21 09:16)
加载中
1
ericsoul
ericsoul
第三点,其实不是拒绝开源,而是拒绝自己把控不了的开源。底层开发,如果一个bug需要依赖的底层发布下一个版本来解决这是很蛋疼的。wifidog应该对你的团队来说认为再出bug也不会出现,他们查不到,或者在上层解决不了的。但是如果是nginx就不同了,它涉及的代码量和功能模块远远大于wifidog
乌龟壳
乌龟壳
回复 @ucliaohh : nginx剔除不需要的模块,代码量很小,这种插件架构的程序进行二次开发很合适
ucliaohh
ucliaohh
这点认同,赞
1
Mrte
Mrte
一看你就是北大青鸟出来的,概要设计都不知道!
0
ericsoul
ericsoul
概要设计的确很重要,设计好了,剩下的的确是码字的体力活,当然前提是码字的初级程序员能理解概要设计而不是了解。而我国基本上,概要设计很烂,很多细节没考虑到需要初级程序员去思考。而且很多初级程序根本没有理解概设,所以他的思考,很多时候会顾虑不周全。我国it公司不重视技术不是一天两天了。很多概设人员只有资格做初程。
ericsoul
ericsoul
@ucliaohh 虽然我没直接和国外程序员合作过。但是已我个人对软件工程的理解(虽然一开始我也是技术为王的思想),和实际工作情况做比较得出的结论,至少我国是这样的。很多写概设的人根本不具备这个资格(指对业务和整体架构的理解)和能力。我国很多概设都是初为pl的人写的,他只是刚从初程变成主程而已,虽然技术能力上已经具备能力。但是这份概设将成为他的练手作品。等他具备了可能他已经去了下一个岗位
ucliaohh
ucliaohh
国情如此了~~ 有跟米国程序员合作过,他们一条记录一条记录过,颜色批注老详细了,当场讨论当场改文档。 很久之后还有迹可查,咱们改了就改了,都不知道为啥要改,然后就开始扯皮了。
0
ericsoul
ericsoul
第四点,纠结长短链接,的确是底层应该纠结的事情。不用ngnix可能是,用不到那么强大的东西,而c开发,最喜欢的事情就是tcp链接了。呵呵。维护一个自己的tcp远比维护nginx简单。当然如果你们的开发不够强,没法保障自己开发的在某方面超越nginx,那就是无谓的。借用和模仿永远是it行业进步的阶梯。
ucliaohh
ucliaohh
稳定和高效是生命线 丢了数据比啥都麻烦 一些高成本实验都需要重做 不过楼主可能批的是C++程序员没有尝试的态度吧,个人觉得这应该是和人有关,和语言无关吧。 遇到不少做出来就完事了,用啥开发的都存在,压根就没想过去试试还有更高效的办法。
0
ericsoul
ericsoul
多团队合作扯淡是避免不了的,和c无关。你问问,@中山野鬼 自己的团队的之间存在扯淡么,他就直接拍是谁的问题,谁去改了。你们需要一个权威的judge。
小小发
小小发
嗯,项目里面有一个敢于拍板,敢于承担的老大工作就好做多了
0
ericsoul
ericsoul
文档规范,而没有用,说明得其行,而未得其神。概设有模有样,内容华而不实。参照我上面说的,他们还不具备写概设的能力,在我国具备这个能力的人,一般已经是pm管理岗了。再说一点,其实良好的文档,应该和软件工程相关,而和语言无关,所以和c无关。就算你的团队使用php也应该有好的文档。
ericsoul
ericsoul
@真友 是的,具体问题具体分析。希望我的一些看法可以对你有意义。呵呵
真友
真友
虽然实际情况无法说明,但是听你几点让我思考到了另外一个层面的东西,看来要经常到【开源中国】交流,多见识见识别人的看法,哪怕和实际工作无关。多谢大哥良言。 祝 新年身体健康
0
NickWilde
NickWilde
这效率~~,不是大企业的话估计会挂的快
0
鸿鹄之心
鸿鹄之心
标题C++,内容全在说C语言,我也是醉了。用什么语言不重要,技术手段而已,重要的还是看团队合作,看个人能力。
0
江海一客
江海一客

PHP千秋万代,一统江湖......

没活路了,我要静静。

返回顶部
顶部