这个吞金兽不好养
超小超大

第三十二章 长夜漫漫 (2-1)

而这么长的时间里面,叶新晨也是在解决上面这个BUG的尝试中,才发觉TCL这种语言先天不足。

因为一旦程序逻辑复杂,它那变量无需声明、变量无类型等等对初学者来说不可多得的“优点”就成了致命缺陷。

这会让人不得不付出比C/C++之类“正规语言”多得多的努力去跟踪去区分数据类型。

而且为了避免错误,叶新晨也不得不把数据类型也“打包”进数据,然后在程序入口写代码分辨它——尤其是,这些数据类型还是动态的,是从输入数据识别出来的;不结合输入谁都不知道某个数据在某个时刻会是什么。

这使得代码几乎无法静态分析;而测试用例很难覆盖每一条执行路线——不要忘了,这个程序“吃”进去的数据是多变的,几乎不可能列出所有情况。

这使得叶新晨又产生了一个想法。那就是,要给它增加一些功能,把专业语言的p、变量先声明后使用等等功能搞出来,使得出现类似高危行为时可以得到提醒甚至直接对相关不良行为报错。

当然,叶新晨是没有这么自觉的,只是叶新晨跟他们说了,他们立刻就私发了一个六万的悬赏让叶新晨帮忙!

原本叶新晨是不愿意的,因为那七天已经够累的了,晚上都熬到凌晨三四点,每天就睡三四个小时,这让叶新晨深刻的明白为什么程序员容易头秃了。

虽然叶新晨不愿意,但是奈何对面又把这个六万的悬赏又加了四万……

嗯,叶新晨觉得这个功能也不是那么难,熬夜那就熬夜呗……

所以叶新晨也是立刻就进入状态了,TCL号称一切都是字符串,这甚至可以把系统库函数/运算符/关键字都给rename掉,然后自己写一个替代品。

这给了它的用户极大的自由度。

比如iTCL就是用命名空间模拟的面向对象语法——这种语言仍然是面向过程的;但你可以自己定义一个class关键字(实质上是一个过程),把它变得和一个真正的面向对象语言几乎一模一样。

叶新晨首先盯上的是它的过程/函数声明关键字proc。

在这种语言里,你声明一个函数fun,格式就是

pr){

#body

}

它看似一个关键字;但TCL里一切都是字符串,因此这个proc实质上是个函数,它接受函数名、参数列表、函数体三个参数……

叶新晨也是把系统的proc改名叫_sys_proc,自己写了个proc;这样当用户声明一个函数/过程时,他的声明将以字符串格式先传给他。

这样子的话叶新晨就可以做一些修改,把一些逻辑插进用户编写的代码中,然后再把修改后的代码传给_sys_proc。

通过这种方式,叶新晨就接管了TCL的一切;然后修改了它的异常/返回流程,识别出“用户未捕捉的异常”。

毕竟叶新晨是记录了每个函数在某次被调用时、在调用链上所处的层级。尤其接近顶层尚未捕获就会影响到当前测试用例、当前测试套甚至引起整个程序过早退出,这些都是要记录的。

现在,当程序出错时,如果通过异常处理程序解决了问题、允许程序继续执行了,那么叶新晨就不做任何动作。

但如果没有处理异常、使得测试失败甚至程序退出,那么叶新晨就能在执行下一条语句之前把整个调用链打印出来——从函数调用关系到每个函数的局部变量内容、再到异常传递路径,巨细靡遗。

这个设计相当于函数返回时会多执行几条语句,把局部变量等信息保存在内存中;只要程序不崩溃,那么这些信息就自动丢弃;而一旦程序要崩溃,它就会写到磁盘文件中——叶新晨自己搞了个日志滚动机制,专门记录最近十次崩溃信息,并不会无限侵占磁盘空间。

通过这个东西,再付出微不可察的时间代价,叶新晨给所有Tp功能。

这显然是个重大利好。

这个吞金兽不好养提示您:看后求收藏(百发小说网http://www.baifabohui.com),接着再看更方便。

相关小说

绝世剑神 连载中
绝世剑神
黑暗火龙
武学宗师林辰,带着一尊神秘小鼎来异界,成为天极宗的外门弟子,看他一步步踏上巅峰,终成一代绝世剑神!
1891.3万字3个月前
斗罗大陆之冰王复苏 连载中
斗罗大陆之冰王复苏
半糖去冰椰红茶
(绝世唐门同人)神王布局,万古奇才!!为了逆转宗门衰败的命运,神界修罗神王以其至高特权窥探下界。在此期间,祂意外发现了两名绝代双骄的诞生。念及自己无上宗门的传承,祂不惜以自己女儿为子,誓要将两名绝世天才纳入囊中,借此布下一盘伏线万年的大棋。眼看着棋局初成,一道赤色光影却突然袭来,直接降临在神王身边!“大胆,竟敢冒犯神王之威,我看你已有取死之道!”修罗神王眼神阴翳,看向不远处出现的身影。.....
21.0万字1个月前
盲盒:从佐助变美少女战士开始 连载中
盲盒:从佐助变美少女战士开始
捷克的铲屎官
穿越到了火影世界,成为一名离谱盲盒商人。美少女战士、汤姆猫、小叮当、光之变身器?你想要的奖励这里都有。佐助:鼬,我已经得到了新的力量,受死吧!在绝望中死去吧!路飞:我要成为海贼王,然后开启更多盲盒。蓝染:这世界本没有神,只是开多了盲盒,便有了,我会开无数盲盒,然后,站在天上。
新书1个月前
重生之系统有点皮 连载中
重生之系统有点皮
云下那片海
别人的系统都是一本正经!陈理得到的系统却有点皮!发布任务:(大扫除)任务描述:完成六年一班教室大扫除!”任务奖励:华夏币(0.1元)是否领取?
5.1万字1个月前
丑拒校花:抱歉,我和嫦娥有约了 连载中
丑拒校花:抱歉,我和嫦娥有约了
一定努力努力
[[【飞卢小说网独家签约小说:丑拒校花:抱歉,我和嫦娥有约了】林奇穿越成为一名校*。中秋佳节,校花来送月饼,满脸期待:林奇,可以一起赏月吗?林奇淡淡一撇,丑拒道:抱歉啊,我和嫦娥有约了。校花冷哼一声:哼骗谁呢,这世界上根本就没有嫦娥!于是校花一路跟踪林奇,当她看到林奇和校花之后,整个人呆木了。“啊啊啊!!!”“原来世界上真的有嫦娥!!!”“关键她好好看哎!!!”校花的直播间里哗然震撼!此时,林奇
11.0万字1个月前
南天封仙 连载中
南天封仙
天墨
星空之上存有一门,名南天门!相传,谁若是能踏入南天门中便会仙气加身,南天封仙,成为那永恒的仙人!练气士,一生追逐南天门,欲要踏入其中,南天封仙,摆脱造化,跳出五行,永存于天地之间,成为仙的存在。......南天星,一颗充满神秘色彩的小星球,在这里,有着一名孩童怀着执着和坚韧,拜入到了一个宗派当中,开始了他的修炼之旅,而故事也将从这里开始......
853.2万字1个月前