小哥走到电脑前,打开SAp,输入收货功能的快捷进入码“mIGo_GR”说道!
“就是这个位置,输入电子采购那边的单号,偶尔看错几位!输错了!”小哥指着标准程序的输入窗口!
“哦,这样啊,还真有可能!我研究下看能否有办法规避!”张伟没敢把话说太满,毕竟这正是个全新的问题,用户也不认为是系统的问题,都认为是自己不小心犯的错误!
“这个对我们很重要啊,我们仓库,每周对账,都会有几笔错的,每人都出现过!这个要是能搞定,张姐估计会把她最好的资源介绍给你了!大美人哦!”小哥看可能有戏,张伟没有立马拒绝,于是加码诱惑道!
“可别了,咱可是名花有主了啊,不敢瞎霍霍人家小姑娘!哈哈!”张伟打着哈哈!
拜别了小哥,张伟就上楼了,这个问题,可能还真是个问题!得好好研究下!
不过张伟有点犯难了,这是标准程序啊,如何搞了?
张伟想,如果要解决这个问题,肯定源头解决才是最好的,事后解决,也能搞定,但是米已成炊了,达不到最好的效果,要么输入错误的时候,提示对方输入错误了,要么干脆直接代替用户填写,让用户确认下就行!
这才是终极方案!
突然张伟觉得,上次推导出那个“最好的程序员”的定义,有那么点道理啊,当然还有那个,毛思也很哇塞!“从群众中来,到群众去!”
张伟觉得,NNd,咱怎么说也是结丹6层的SAp高手了啊,不就标准程序么!拿下!
啥叫初生牛犊不怕虎,看着你伟爵爷如何蹂躏你这个小美人!
“mIGo_GR”小美人!
给爷躺好了!爷来了!
于是张伟就开始了对标准程序,展开极端的蹂躏,首先就放筑基大招!debug,哇哈哈!
NNd,没帅过三秒!张伟迷失了!迷失在标准程序的迷宫里了!
这算啥,接着搞,爷现在有的是时间,毕竟现在张伟确实是闲的蛋疼!debug标准程序,就当打发时间玩了!
估计在SAp史上也是没几个像张伟这个奇葩了,debug标准程序,竟然是为了打发无聊的时间!
打个比方,就好像有人说,我无聊的时候,就读一读文言文,或者是,我无聊的时候,就做一做线性代数,算一算微积分,打发下时间,一样的意思了!
接下来几天,张伟拿出了,把结石跳出来的毅力,和这个标准程序杠上了!
真是做到了屡败屡战,永不放弃,永不气馁,像打仗一样经过艰苦卓绝的攻坚克难!算是有点眉目了!
张伟自己总结了下,大概情形是这样的!首先是debug,需要开几十个窗口同时进行,首先是标准程序,确实太复杂了!其复杂主要表现在!
嵌套!对就是嵌套!
虽然程序的运行是顺序从上往下!感觉方向只有一个啊,怎么可能复杂了?这也是张伟敢上手debug的原因!
比喻下吧!一条河流的水流只有一个方向吧,在中国绝大分都是自西向东吧,支流都会汇集到主干河道来吧!基于这些常识认知,大家觉得确定一条河流的源头,是不是很简单啊!
真实答案,却是很难!长江是1978年才最终确认源头和长度!不算之前多少代人的努力想要完成这个事,就说1949年新夏国成立后吧,这也过去了29年啊!才把长江源头搞定!
不就确定一个源头么,多么简单的事情为什么要花费29年啊!
张伟现在也是这个感觉!如果用一个图来表示,debug ,SAp标准程序和长江的结构图是一样一样的!
就是上面说的嵌套!
如果把mIGo_GR的用户界面看做是长江的出海口,也就是最终水流汇集的点,对程序来说,就是所有逻辑最终汇聚集合的点!
然后往前推导!长江的第一个支流黄浦江!同样标准程序也是出现了第一个的调用,张伟的第一次迷失,就在第一个岔口深入进去后,迷失了!就像找长江源头时,深入黄浦江,发现又有很多支流,你明知道这个肯定不是主干,但是有河水流入你要不要,进去考察了?
张伟也是一样,明知道第一个函数调用,肯定不是主干,但是程序运行进去了,你要不要追过去看看了?会不会有啥有用的逻辑处理了?
oK!你可以忽略后面的浏河、水阳江,那赣江你要不要拐进去看下了?拐进去之后,张伟又迷失了!只能重新开始debug!
张伟再猛一点,都不进去,那么再往上的嘉陵江要不要拐进去了!
反正就是这个标准程序,无数的嵌套,函数,一个接一个的嵌套!很多是bApI标准的,还有很多没有带bApI开头的,但是也是标准的!
张伟实在是被这种嵌套搞晕的不行了,于是就专门查了下,居然SAp有个函数,足足48万个!之前查的个bApI,张伟就震撼的不行了,现在有48万个,张伟更是一通的捶胸顿足啊!
张伟猛然间记得,在结第六层丹时,如果把这2万多个bApI,想象成汉字,可以被组合出无穷多的组合的推断!张伟当时还特意查了一下,每个bApI最后向上组合,也就是被调用的次数是有限的,最多就十几次,没有出现那种无穷多的情况!
张伟想到这里,突然感觉,自己肤浅了啊!
嵌套啊!函数可以和函数嵌套啊!
虽然每个bApI的函数,只是被几个程序调用了,可是调用这个bApI的依然是函数啊!然后这个函数又被调用他的函数嵌套了!一层一层的往上嵌套,虽然感觉自己只被几个函数直接调用,可是你怎么知道,调用你的函数又被多少个函数调用了啊!
在社会学上不是有一个六度理论么,你要找到全球任何一个人,只需要通过6个中间人啊!
而现在有48万个函数!张伟在debug时,明显能感受到,程序间很多都是相互调用,相互嵌套的,一层一层的往下!
张伟觉得,被之前那个刘慈欣《诗云》的逻辑给限定死了啊!肤浅了!
大逻辑确实和《诗云》一样,可是具体到程序语言就不同了啊!
比如一个字如果要出现在某个成语里,需要在成语里写入这个字,如果在句子里,需要在句子里写入这个字!那么这个字就会被无限次的写入无穷多次,那么就代表这个字被调用了无穷多次!
而张伟就是用这个逻辑来思考bApI的后续发展!
可是张伟现在知道,错了!彻底的错了!
函数不是文字啊!如果要使用这个函数,不用像文字那样,需要把这个字写进去,只需被调用就行啊!而且还可以被嵌套调用啊!
也就是说,从一个函数的角度,感觉自己只被别的程序调用了一次!但是调用你的那个程序,却被调用50次,那么就代表你被调用了50次!而你却毫不知情!这就是张伟为什么只查出了几次被调用的原因!嵌套之后就再也没法查了!
如果这50次的调用中,有一个又被调用了200次,那么就代表,你被调用了250次!
可是从你的角度,你只被调用了一次啊!其实被调用了250次,你说冤不冤!
如果这种情况发生在《诗云》逻辑里,就是这个字真的被写进了250个词语里或句子里!
这就是编程语言,和自然语言的区别!自然语言就是我们说的汉语、英语、法语等都叫自然语言!
当张伟想到这里时,好像感觉冥冥中的那层迷雾有点清晰了啊,但是好像又没有抓住那一丝明悟!有点若隐若现,欲盖弥彰的感觉!
什么情况?
张伟接着梳理!对就是长江的那个结构图,就是程序运行的逻辑顺逆图,结合前面被《诗云》逻辑误导的框架,张伟好像有点懂了!
对了啊,现在只有一个标准程序是“mIGo_GR”,如果再加上mE23N、co03、mIRo.....这些标准程序了!那不就是N条长江的结构图么!
在结合调整后的《诗云》逻辑!
FUcK!FUcK!FUcK!成了啊!
第7层!
哈哈!成了啊!
SAp蓝丹第7层!
结丹了啊!
哈哈!
第6层业务对象层,也就是bApI层,是如何向上结层的?
一个mIGo_GR是一个长江运行模式结构图,张伟在debug时,明显发现了这个收货的标准程序也在调用“采购订单的bApI”啊,而这个采购订单bApI通过向上查找却没有出现在收货相关的bApI里啊!
问题不就很清晰了么!在收货时被调用了,又没有出现在收货的bApI里,那肯定就是被收货的其他函数给嵌套了啊!有48万个函数呢!肯定是被嵌套了啊!
这样就可以明确的知道,mIGo_GR标准程序,和mE23N勾连在一起了啊!
第7层如果一定要给一个层次定义,那么只能叫“dialog”层了!其实这一层是真正的一层很厚很厚的层!
这样想,长江的结构图,是立体的!竖着摆放的!
而这样的结构图有很多条,每条代表一个标准程序,运行流图!
真实情况下长江的结构流图,都是独立的,每个每个都是独立的!但是这个是程序啊,相互嵌套调用啊!
那就代表这个结构图,某些分支是相互联通的!
没法想象?
你就这样想,一个长江结构图,竖着摆放,一个黄河结构图竖着摆放!本来相互是独立的没有任何连接点!
我靠,隋朝搞了个京杭大运河,把长江和黄河连通了!
夏国又搞了一个南水北调,又在中游把长江和黄河给联通了!
这下是否清晰了!然后再扩大点,因为标准程序很多个啊!每一个都有可能是长江,或者是黄河,或者是雅鲁藏布江!
而他们之间的链接,又非常的简单,只需要写一行代码进行调用就行了!
那么这个分支和分支之间的链接,就会变得错综复杂的一个整整很厚实的一层密密麻麻的网体,不是网状,是网体层啊!当然网体层,最终还是闭合成一个球体!
只是这一层非常的厚实!
此时张伟想到了星爷《功夫》里的台词“有多高啊,三层楼那么高吧”!
张伟也想借用下,“第7层有多厚啊,三层楼那么厚吧!”哈哈!