张伟把昨天统计出来的几个程序,同时打开,直接copy了和自己任务相似度有60%的那个程序作为母版,建立了自己的程序,进行了各种乾坤大挪移,在他们码农界有个专门代表抄袭且高大上的名词“代码重用技术”,对你没看错,把抄袭说的如此冠冕堂皇的,居然是一门技术!怎么说了,就是有种我们现在读古文,发现了错别字,居然叫“通假字”一个感觉吧!
张伟就是以那个程序为母版,首先删掉那些没用的代码,或者叫和他这个需求没用的代码,其实那些代码,在原来的程序里,都是有用的,只是被copy到张伟的程序里,就没有用了!
换句话说张伟其实一行代码都没有写,只是靠简简单单的删除就搞定了自己任务的60%,而这个过程花费了多少时间了?
半小时不到!中途还去解决了一个大的!你说这气不气人!这种感觉有多气人了,讲个故事吧!
听说有家公司,从德国购买了一台机器,找遍了国内的工程师、专家、教授都修不好,于是没办法只能请德国的专家过来维修,人家报价10万美金!而且还要预付款!没办法自己人搞不定,只有答应人家了,乖乖的打钱过去!然后来了一个专家,对只来了一个人!当时公司的人都傻眼了,国内都是一个团队8个人打底!对方来了之后先是听了大家东拼西凑的讲问题、描述现象,然后到机器现场实地看了一下,好像啥事都没干!然后就让启动机器,到处看了下,听了听声音!
然后奇葩的事情发生了,只见对方,拿着机器附带的锤子!在某几个地方敲了几下,估计是10下吧,1万美金一下!然后悠悠的说“修好了!”!
开机,果然修好了,一切正常了!这下全场傻眼了!
全部差不多有50多人,花了10万美金,看着人家敲锤子!?当然这个锤子是洋人敲的!
这下全部都不干了!要求退钱,被忽悠了!
人家专家悠悠的说!
“我敲的这几锤,是我20多年技术的外在表现,敲哪里?敲几下?下垂的角度?用多大力敲?都是有讲究的!这叫技术,你们要尊重技术!”
同样,看着张伟好像就是在键盘上对着copy的那800多行代码进行各种“delete”键,删的只剩下600多行了,就一个动作,就搞定了任务的一大半!
张伟此时应该可以很装逼的说:“虽然我只是用一个手指头按了delete键,但是删那些代码,甚至是标点符号删那些,都是有讲究的,这叫技术,你们要尊重技术!”
然后就进入了下一个更加气人的阶段!
张伟的左手伸出了小拇指按住了“ctrl”键!
右手鼠标点开了一个程序代码窗口,用鼠标拉黑了一小段程序代码!
然后左手的食指按了下“c”键!注意此时左手的小拇指依然按住了“ctrl”键没有松开!
然后右手用鼠标选中了那个正在编写程序的窗口!鼠标移动到某处!
左手的食指按了下“V”键!当然小拇指依然没松开“ctrl”键!
神奇的事情出现了,600多行的程序,就在某处多了20多行的代码!
这时张伟松开了左手按住ctrl键的小拇指!
这一套流程搞下来,30秒不到!
如果此时有人站在张伟边上了,估计只看到他,一通的,鼠标点击选择,然后键盘上就是左手的小拇指没有松开过,只看到食指不停地在c键和V键之间切换!窗口也是在鼠标的点击下不停地切换!
然后那个600多行的程序代码,又涨回到了800多行了!
如果有人问的话,张伟估计还是那句拽拽的话飘出来!
“选择对那些代码进行ctrl+c,然后把这部分代码安放到,那里进行ctrl+V,这个过程不能有一丁点的错误,容错的机制,是标点符号级别,甚至是标点符号的前、还是后,都是有讲究的!”
这就是张伟喜欢编程的原因,完美的避开了张伟所有的缺陷,最大限度的发挥了自己的所有长处!
比如自己字写的很丑,编程!不存在的,电脑打出的字,打印机打出来的字,那都是王羲之级别的!
不喜欢英文,编程也就32个单词!重点即使只有32个自己也只需要掌握3个键就搞定了!
数、理、化!也就是逻辑是自己的强项,在编程这个方向,简直把自己的强项给顶上了天际,无限放大了自己的优势!
所以他可以很轻松的进行ctrl+c和ctrl+V,他甚至有时想,如果自己AbAp代码积累到10万行后,只给自己的键盘保留三个键!
ctrl键,c键,V键!
并把这3个键全部换成金的!估计这就是张伟这种穷人的思维啊!怎么比喻这种心态,就说有个掏粪工,说我要是有钱了,我必须的把我这掏粪的铲子做成金的来掏粪!
张伟估计就是这个心态!
张伟差不多把自己任务需求的代码挪移完成后,就开始正式的编码、调试了!
运行发现有20多处错误!
小问题,这都是在张伟计划范围内的!当然此时他也进行了正式的敲代码工作,只是他这个敲代码,不是那种网文作者写小说,在键盘上噼噼啪啪龙飞凤舞的敲个不停!他基本上是隔离几分钟,敲几个字符进入自己的程序,然后运行,或者debug,然后退出来,再敲个或者几行代码进去,或者删除几个、几行代码!
此时如果你在张伟前面看他的话,就感觉张伟一会儿敲了几下键盘,然后陷入了呆滞中,一会动了几下鼠标,然后又陷入呆滞中,一会又滚动了几下鼠标滑轮,又呆滞了,就样不断的呆滞中,和不断的敲击键盘、和拨动鼠标中循环往复!
而此时张伟自己清楚,现在的自己才是真正的处于天人合一的状态,专注到无以复加的地步了,完全沉浸在编码的乐趣中,每敲击一次键盘,都是搞定一个问题,每滑动一次鼠标,就是翻越了一个问题!
这20多个问题,很快就被他搞定了!
现在这个任务,对于张伟来说,基本已经搞定了80%了,还剩下的20%!
错误都搞定了为什么还有20%?应该都搞完了才对啊?都已经没有错误了!
这就是编程的魅力,或者叫码农的其中一个门槛吧!不是说没有错误了,问题就解决了!
一个程序员,在编码这里就得要突破几关!
第一是代码完成,就是不报编码错误或者叫语法错误!
第二是代码能跑出既定结果,这个需要的是前面“炼器流”的功力,也就是对需求的理解,这个是一个程序员容易忽略的能力,如果要成为一个优秀的程序员,这块的功力,是至关重要的!
第三是速度、稳定性、兼容性等等对异常的处理,就是确保自己的程序跑起来很快,碰到任何情况都能跑,程序员业内有个段子描述这个能力!
你问程序员“树上有十只鸟,开枪打死一只,还剩几只?”
他反问“是无声手枪或别的无声的枪吗?”
“不是。”
“枪声有多大?”
“80-100分贝。”
“那就是说会震的耳朵疼?”
“是。”
“在这个城市里打鸟犯不犯法?”
“不犯。”
“您确定那只鸟真的被打死啦?”
“确定。拜托,你告诉我还剩几只就行了,oK?”
“oK,树上的鸟里有没有聋子?”
“没有。”
“有没有关在笼子里的?”
“没有。”
“边上还有没有其他的树,树上还有没有其他鸟?”
“没有。”
“有没有残疾的或饿的飞不动的鸟?”
“没有。”
“算不算怀孕肚子里的小鸟?”
“不算。”
“打鸟的人眼有没有花?保证是十只?”
“没有花,就十只。”
你已经满脑门是汗,但他继续问:“有没有傻的不怕死的?”
“都怕死。”
“会不会一枪打死两只?”
“不会。
“所有的鸟都可以自由活动吗?”
“完全可以。”
“如果你的回答没有骗人”程序员满怀信心的说“打死的鸟要是挂在树上没掉下来,那么就剩一只,如果掉下来,就一只不剩。”
第四是系统架构的能力,就是不再只是单纯的写功能,而是构建一整套庞大的系统,让其能够在时间轴,和空间轴上跑起来!比如像比尔盖茨、扎克伯格这些都首先具备这样的能力了!
当然还有第五....
张伟现在估计在第二段位刚入门吧,毕竟炼器流,他才看了几天!
没到下午下班,张伟就把他这个需求搞定了,当然还需要测试,他打算晚上加班自己先测试下!
晚上,张伟开始测试自己的程序!
第一次张伟运行这个报表时,不设置任何条件,可以理解为张伟在验证自己的程序碰到第三段时的情况如何反应!
当然不出意外,肯定是报错了,于是就开始各种修复!
这关过了,可以跑出数据了,因为没有限制条件,很容易测试出极端情况!
从程序员的角度,只有1条数据有问题,和10万条数据有问题,其实是一个意思!
这个和会计是相反的,会计发现10万的差异,完全是小没问题,如果只发现1分钱的差异,那就是天塌了!
现在的张伟,就是在找各种问题,就是测试,当然这个测试是基于自己的“炼器流”那边的理解,比如采购订单2万个,交货却是4万,那就是问题;或者采购订单没有审批,居然交货完成了;收货没有完成,居然发票全部开了!
现在张伟需要判断的是自己的程序错误,还是业务上的错误!
一个晚上查下来,张伟基本把自己能查的,能证明是自己程序错误的,都修改了,剩下的有几笔数据,张伟无法判断,应该算是业务错误!
晚上下班!张伟的这个任务基本算是搞定了,剩下的工程很少了!离工作汇报还有3天+2天的周末!自己的任务却完成了!