邵明颍(铅笔腿):【我10.1去京城,定个两天的陪游服务。】
柳诚沉默了片刻:“光睡行不行?”
邵明颍没有回复,柳诚伸着懒腰,站起来去洗漱。
这女的,就敢口嗨而已。
启明星的动作非常快,第二天一个三人的谈判团队,就来到了科威信息,谈判并没有进行多久。
核心问题,尤其是定向开源上,已经通过中间人,沟通的非常清楚。
双方很快就签订了具体的项目合作合同。
政企部门对统一威胁管理的需求也是极其迫切的,这一点柳诚并不意外。
自从柳诚的日志宝上线之后,无数跟风的产品,琳琅满目,但是质量参差不齐,柳诚的日志宝一枝独秀。
市场从来都是如此,对于先知先觉的人,报酬总是最丰厚的。
就像奇虎的安全卫士率先免费后,大杀四方,迅速的占领市场份额,之后无数安软厂跟风,推出了自己的免费安软,但是整个市场,已经被奇虎啃下了大半。
“柳先生,按照合同的规定,希望尽快将日志宝的源代码,带到信息安全测评中心。”
“我们将在收到源代码五天内,对安全方面提出我们的需求。等到项目正式上线的时候,我们的协议款,会如数打到公司的账目上。”
“预祝我们合作愉快。”穿着一身西服的中年男子,并没有因为柳诚年轻,轻视他。
柳诚伸出了手,用力的握了一下:“预祝我们合作愉快。”
开源并不意味免费,微软的安全计划源代码协议中,就将windowsVista等等以及office办公软件的源代码进行定向开源。
柳诚吐了一口浊气,启明星办事的人和奇虎是完全不同的,甚至有些古板,他们的报价几乎没有任何商量的余地,他们的底线会在一开始就表明。
这种风格反而有点对柳诚的脾气,大家都是搞技术的,直来直去的多好。
我有技术,你有钱有客户,我们一拍即合。
奇虎那种吃了一口,就想整个吞下,得寸进尺,顺杆子往里面爬不说,还有竞业禁止协议卡人脖子的事,实在是贪得无厌。
但这就是市场的风格,市场真的很残忍。
他原来想着一票就干到财富自由,完全是有点异想天开了。
“柳工,我的笔记本。”汪永丰看到启明星的人离去,才松了口气。
这些人的气场好大,他看的都有点憷,也不知道他的老板,是怎么在这种气场下,谈笑风生的。
柳诚来到了汪永丰的电脑前,指着他写的一段代码说道:“你看这里,你就有九处嵌套,过一段时间,你自己看,都得懵。”
他说着有打开了另外一段日志宝的代码说道:“你看我这段,我的这段嵌套分支也很多,但是这都不是一次写出来的,而是每次增加新功能时就开个新的分支。”
“对于每一个分支的增加,我都不觉得需要重构整段代码,因为我当时只想用最快的时间,把自己要做的事情做完,于是代码质量变得越来越低。”
“昨天晚上,我就把这段代码进行了重构,将三百二十行,变成了一百行,这样就不担心启明星的工程师们看晕头了,也节省了大量的资源。”
汪永丰看着两段代码,点了点头说道:“区别真的很大,但是功能相同。那应该怎么重构代码呢?”
柳诚接过了柳依诺递过来的水杯,说道:“一般情况下,三个分支就可以重构为一个判断(switch),如果一个判断的分支大于10个,就要考虑写成表(config)去驱动,专门写一个函数根据配置写一个路线图(mapping)。”
“如果是映射逻辑复杂,使用频率较高,就专门写一个数据库规则引擎(ruleengine)来调用。”
汪永丰还是有点懵,柳诚又亲自演示了一遍,有些犹豫的说道:“就是类似这种,重构代码是个费力不讨好的活儿,但是也是一个必做的工作。”
“好厉害!”汪永丰眨着眼睛,目瞪口呆的说道。
柳诚示意这没什么,笑着说道:“大部分都是这样,我曾经接手过一个三十几层的ifelse套ifelse模块,把我差点干崩溃。”
“我对这个模块,做评审复盘的时候,发现第一个程序员,只写了一层,后来每增加一个需求,逻辑分支扩张到了三十多层,就没人愿意重构了。”
“重构错了,还得背锅。”
“我那时候就劝自己,编程嘛,最重要的就是看得开,我加了一层,测试,提交,下班。”
汪永丰十分好奇的问道:“后来呢?”
柳诚满是回忆的说道:“后来这个模块,在启动的时候,会被执行19.6亿次,开启这个模块的时间长达六分钟,而且所有人都不知道问题出在哪里。”
“19.6亿次?”汪永丰拍了拍额头。
柳诚站起身来,笑着说道:“是一个游戏在线服务的子模块,你知道,19.6亿次的无用运算,一遍又一遍的在用户的CPU上上演,那场面,啧啧。”
“后来呢?”汪永丰瞪着眼睛,问道。
柳诚笑眯眯的说道:“后来呀,我偷偷的改了呀,还能咋样,要是被公司发现,我岂不是要被炒鱿鱼?”
人生的路上,有很多的经验,都很一个坎坷一个坎坷,跨过去之后,才恍然大悟,当初就不该犯这样的错误。
自那以后,柳诚过手的大大小小的模块,都会用当初师父交待的方法,进行一遍遍的重构,背锅不可怕,发生不可挽回的错误才是最可怕的。
“柳工,你这么厉害,还有功夫谈恋爱啊。”汪永丰十分苦恼的说道:“我学都学不过来,每天所有的时间都用完了,还是不够用。”
柳诚站起身来,笑眯眯的说道:“谁让我天赋异禀。”
“对了,你现在不要过分追求什么代码精简、简洁,而是踏踏实实的做完项目,一个程序员不要操着CTO的心。”
“在规定的时间内,把规范的事做好,等到你自己带项目的时候,再考虑这些。”
汪永丰用力的点了点头说道:“知道了。”
“师父!”沈佳怡委屈巴巴的看着柳诚。
她提着一包零食来到了科威信息,看着汪永丰被指点的时候,十分的羡慕!
柳诚放下了水杯,笑着说道:“什么时候来的?”
“早就来了。”沈佳怡依旧委屈,这种手把手教怎么写代码,她这个正牌弟子,都没这种待遇。
柳诚对她的要求总是:
发挥你的主观能动性;
这个问题问出来之前,先过过脑子;
你能不能自己网上搜搜,那么大个baidu在那放着呢;
还不懂?怎么收了这么个笨蛋徒弟。
类似这种。
柳依诺满头大雾的说道:“你们再说什么?”
柳诚琢磨了下说道:“我刚才的话,重构代码,就像是小说里的大纲、总纲、卷纲、细纲、正文大修,一样的麻烦。”
“代码的精简、简洁,对于新上路的他来说,就像是小说里,节奏加快,语言不啰嗦,对于他而言,要求有些高了。”
柳依诺不懂代码,但是她懂小说,修改大纲,然后全部修改正文,最后前后文,颅内重新链接,的确是个很辛苦的活儿。
柳诚天天重构代码,的确是异常的辛苦啊!
“汪永丰同学呢,现在刚学会走,就想着跑,我跟他说不要想着代码精简的意思,换算到小说世界里,就是,先讲好一个故事。”
柳依诺点了点头,笑着说道:“你那小说啰里啰嗦的,好多人都说不够简洁呢。”
“好吧,我争取不那么文青,好好讲故事。”柳诚无奈的点了点头。
“师父,我们去吃饭吧。”沈佳怡拉着柳诚的衣服,满是期待的说道。
“撒手。”
“我不。”
柳诚疑惑的看着沈佳怡,这丫头是咋了?
他试探的问道:“有事?”