《是非人生 —— 一个菜鸟程序员的5年职场路》
第5节作者:
花8 董延明的毕设是个很古怪的题目——中医专家系统,小董是下了功夫的,去中医学院的同学那里借了三本教科书,认认真真从头到尾的读完了,可惜关于软件架构一点也没有思考过。他就是在面板上设了几条路径每条路径设了几种按钮,每一种病症都对应了数据库里的几味中药,这就算完成了。
顺便说一句,这个软件还经常的无故死机,更恐怖的是要连接access的方式是使用delphi的软件设置,每次启动都要手动连接一次。即使这样董延明也得了A,不过这种得过且过的陋习也遗留到了他的工作中。
董延明问刘大隆,“隆兄,怎么测啊?”
“传个文件看看能不能成功”,刘大隆倒没有像吴博士那样不耐烦,永远都是笑眯眯的。
结果一传就弹出error对话框了,董延明懵了,刘大隆笑了,他说:“明哥,你好像没有申请内存哦……”
他也没有看董延明的反应,直接就在代码里加了几句,char * buffer = new char[1024];再运行就不弹出error对话框了。董延明紧紧地抓住椅子扶手,抑制住高呼“太神奇了”的冲动。
刘大隆传送了一个文件,成功了,可是到接收端却打不开这个文件。
他查了下大小,居然小了几K,刘大隆搔了搔后脑勺说,“明哥,你自己跟踪一下看看吧,是不是丢包了?”
董延明也煞有介事的说,“估计是TCP和UDP的差别吧?我再测测看。”TCP和UDP的差别他也是刚才那本100例上看到了一鳞半爪,不过随口一说也能显得自己有深度,果然刘大隆默默地点了点头没有说话。
董延明对VC还是很熟练的,他使用了解放战争时期的拍雷方法——滚雷,就是逐段代码的跟踪定位,万幸这段socket功能简单不算冗长,滚雷也能滚过来。
不过董大师的这段代码也洋洋洒洒上千行了,其中冗余代码连篇,注释语句一句也没有,成员变量一概是a、b、c,这样也给董大师的工作带来了些许困难。
他定位了一个星期,最终发现接收的时候存储包头部分表示包大小的一个变量会经常性的变负。这还了得?它变负了,好好的文件就少一块。
董延明看来看去看不明白,最终又在刘大隆的帮助下,搞懂了char型是-127到128,他传送文件的时候使用了unsigned char,是0到255,结果传过来的unsigned char被强制转换成了char,结果超过128的数字统统变成了负数。
这个问题解决了,整个程序也似乎可以完工了,董延明算算也要一个月了,长出一口气反复的传送了几个文件,都可以准确无误地打开。不过另一个问题是越运行系统越慢,董延明管不了这些了,含糊其辞的匆匆交上去就收拾东西打道回府了。
几年后刘大隆在QQ上跟董延明聊天,时过境迁董延明说起来当初的那个程序,刘大隆哈哈大笑说,“明哥,你那个程序光申请内存没释放,太NB了,敢情你糊弄我当糊弄洋鬼子呢?”
这个时候的董延明已非吴下阿蒙,每每看见别人使用内存不当便要大骂对方是切除了脑子的猪,听说自己当年也干过这么缺德的事情却豪情顿生,嘴里唱道,“英雄不怕出身太单薄……”
8 —— 文档
董延明从外面归来的时候已经天气大热了,他受到了吴博士一干人的热烈欢迎,吴博士掏出十块钱来,“董啊,去买雪糕去,你走了都没有人去买雪糕了……”
董延明热泪盈眶,毕竟有了自己的定位了。他买回了雪糕,吴博士马上就安排他写产品使用手册,把他一肚子的新公司见闻生生憋回去。
董延明进公司已经一年了,老实说除了写产品使用文档之外什么也没有做过,帮刘大隆写的那个东西不能算数,那毕竟是为他人做嫁衣裳。
后来董延明在华为看到部门庞大的资料部,终于悟到了吴博士一定是想把他培养成优秀的文档人才,这才会让他花费那么多时间写文档然后又对写出来文档横挑鼻子竖挑眼,不过当时的董延明不知道吴博士的苦心每日陷在文牍中苦不堪言。
一天吴博士给董延明共享了一份文档,“董啊,你研究一下这个文档。”
董延明看了看是个交换机使用手册,他翻了翻,迷惘道:“老大,你让我搞这个?”
吴博士说:“你看看人家文档的那个格式,那个用词,那个排版……”吴博士说的很激动,几乎要击节叫好了。
董延明又翻了半天还是不得要领,心想这用词也太平庸了,连个成语也没有,前面重复的道理说了又说,这不车轱辘话么?算了,扔一边上不看了。
转过天来,龚明明也跟董延明也提到了华为的文档,不过不同的是,他提到的是设计文档。
“设计什么文档?”
董延明是没有听过设计文档这个概念的,不过桑军可听过,他做对日外包整日面对的就是日本人的设计文档。
他解释说,“就是设计事项书……”
“两个饼子!中国就毁你头猪手里了,一个天天混日子,一个帮日本人富国强兵,凡事还要指望我们海关,我们关……”,龚明明还是不习惯说我们公司,总要把“我们关”挂在嘴上,“我们关现在开始了学华为,大力的学啊!!我们现在编程也是从文档写起,我看了华为的内部设计文档,老牛B了。那格式,那排版,那用词……”
董延明听着耳熟,不过他还是不明白什么是设计文档。桑军又给他解释说:“就是别人给你写好了怎么编怎么编,全都用日语写好了,你把日语换成编程符号就可以了。
就好像if,人家就写上如果,你照着编就可以了……”
董延明似乎明白了,但是又产生了一个疑问,“写文档的人都写到那个程度了,直接写代码不更快,这不是脱裤子放屁嘛?”
龚明明敲敲桌子,“你俩懂个屁,那是要一步一步地体现编程者的智慧!要从市场调查做起,一步一步地一条一条的实现客户需求。你俩大学简直就没上软件工程课。那个文档是一个接着一个,最开始简单,后来详细,好像叫什么需求设计……不管了,差不多这么个名字,桑你接触的那个是最后一步,叫详细设计。
我跟华为……”
董延明打断龚明明描述自己跟华为的关系,又很虔诚的问龚明明,“明哥,你他妈的写文档要多久,有那个功夫是不是代码早就写出来了?”
龚明明一时语塞,桑军又趁热打铁问:“我写程序能实现你要的功能就行了,最后给你用就行了,你管我怎么做的干鸡吧毛。哦,对了,那玩意是给自己看得哈,我写那个文档给我自己看,我这不是贱么?”
龚明明又再次语塞,脸憋的通红,就好像孔乙己一样喷着,“这个文档跟你们的文档不一样……我们程序员的事情跟二B说不清楚……”
07年,董延明在华为领导team按照流程开发,review文档出名的严格,最喜欢在别人文档上打注释,“一坨屎,请参照培训要求重写。”
07年,龚明明在北软做QA,天天盯着别人写文档的时间点,经常因为写文档的时间缩短了而建议PM延长阶段时间。
07年,桑军去了日本工作,身在瀑布式的开发流程中,再也想不起来自己当年对这种流程开发有过微词。
9 —— 线程
吴博士又给董延明安排工作已经是半年后了,这半年董延明快变成杂役了。
吴博士让他写的是一个语音聊天程序,功能描述完全是口述,“董啊,你写个语音聊天程序,我要用?……什么功能,就是语音聊天啊。……你打开麦,说句hello,我这边听到了说句yeah,你也能听到,然后再说……还要什么设计思路呀?……就是你先写一个录音程序,然后存储起来,然后再用socket传送到对端,然后自动播放。
……”
又是socket?董延明高兴了,会啥来啥。
他从吴博士那里拿走了一个麦,回到自己座位上赶紧打开《VC编程100例》,结果居然没有关于录音的程序。他猛地开始发毛了——从上次socket事件之后,这本书就被他当成了圣经,可是当羔羊迷途的时候发现圣经里面居然没有指明方向,这无异于大海航行看不见灯塔呀,能不发毛么。
他又打开《VC++技术内幕》找了许久,里面没有相关的例子,他意兴阑珊的打开《C++primer》,果不其然里面也没有,他随手扔掉这本破书,心里想着,“这两本破书里面一个有用的例子也没有,怎么还他妈的那么贵??对了,不知道书店里有没有编程1000例或者10000例来卖呢?”然后他又产生了一个很严肃的想法——编程这玩艺买本例子书照着编,只要会打字就能干呀,怎么还整的神叨叨的又要大学本科又要什么培训的?
【网站提示】 读者如发现作品内容与法律抵触之处,请向本站举报。 非常感谢您对易读的支持!
举报
© CopyRight 2011 yiread.com 易读所有作品由自动化设备收集于互联网.作品各种权益与责任归原作者所有.