69书吧

手机浏览器扫描二维码访问

第19章 经验很重要(第1页)

叶子:关于更简单的阅读代码的方法我是没有的,不过如果只是单单为了特殊情况的去读代码,那我还是有一定的技巧的。

曹志文看着大神发来的消息,也是赶紧再一次的回复。

天涯海角:叶子大神,你说,不论有用没有用,这悬赏都会给你,毕竟我朋友问这个问题也的确是有些强人所难了。

叶新晨看着曹志文发来的消息,还是松了口气,毕竟如果这个悬赏完成不了的话,那他的接悬赏任务的胜率也就是只有百分之五十了,这是叶新晨也不能够忍受的。

而且……

他应该先问是什么问题,而不是先接这个问题,差点就让他没有一个完美的解决办法。

毕竟曹志文的朋友问的问题的确是有些别出心裁。

叶子:行,那我先跟你说一下简单的东西,读代码,肯定是读写的好的代码,而这些代码一般是遵循一些原则。

而这些原则,很难从最后的代码中反推出来。

这些原则一般都是declarativeknowledge。

而我们看到的代码大多是imperativecode,即使是functionalprogram或者declarativelanguage的code,一般也是用低级的抽象来描述高级的原则。

叶子:举一个类比。

目前体育比赛中很多规则的修改,都是借鉴以往比赛中一些旧规则导致比赛比较沉闷,或者被运动员钻空子的经验教训,但是单单去看这些规则,你无法反推出来它们是为了避免什么情况。

叶子:所以所谓的读懂写的比较好的代码,一般是从代码以外的途径了解作者的意图,然后再掌握作者贯彻这些意图的一些基本习惯。

叶子:就像你之前的悬赏一样,如果没有你的意图和主观的对我说问题的所在,你让我去看去读你的代码也起码得消耗很长时间。

所以我的额外技巧也就是最好能够掌握作者的意图。

曹志文看到这里,也是有些茅塞顿开的感觉,这个技巧绝对非常实用的,因为他们也不是经常看代码的人,阅读代码也只是有时候检查,或者是和朋友几个看看写的代码,又或者是也接点悬赏练习一下。

他们真的不会去问写出代码的这个人是基于什么意图去写的,如果问一下,那他们去阅读这个代码再加上阅读代码的模式,绝对可以起到事半功倍的效果。

而且曹志文也觉得自己写的时候也发现很多情况下逻辑被隐含了,特别是if-else这样的,为什么有些情况可以合并,有些可以忽略,如果不注释,光从代码本身是难以看出的,所以如果能够从自己的意图去看,那么还是能够发现缺陷的。

天涯海角:叶子大神不愧是叶子大神,这种技巧很实用。

的确很实用,因为这种极少如果没有大量的经验是不可能想出来这种技巧的。

叶子:另外有一种很出名的debug技术,就是用静态分析的方法找到代码中的impliedinvariant,然后搜索有什么地方违反了这些原则。

这个技术和我的技巧也是有一定的相似处,如果你还要研究怎么阅读代码,多去看看debug技术。

本月排行榜
热门小说推荐
通缉神秘小逃妻

通缉神秘小逃妻

为了保命,她误闯他的房间,他云淡风轻的将她看光光,而后顺手牵贼向逼婚的众人宣告她是他的未婚妻。两个立场完全不同的人就此纠缠,棋逢对手她先输了心,他却步步紧逼!她如小鹿一样被他追的东躲西逃,他掐着她的脖子将她揽入怀中,女人,你是我的宠儿,还想哪里逃?...

极品妖孽公子

极品妖孽公子

穿越古代,考试落榜,又遭侮辱退婚,在秦易人生最灰暗的时候,偶然间得到了邪恶系统,自此命运发生了巨大转折。透视眼,隐身术,一切都不是问题。会武术,会赚钱,我就是全能。玩转古代,横扫一切,纵横美女之间!秦易的人生格言是,做我的女人,让你感受飞一样的人生。...

索爱贪欢:新婚老公初体验

索爱贪欢:新婚老公初体验

为什么当初不逼我堕胎?对你这种贱人,流产简直太仁慈!我拖着流血不止的身子趴在地上,看着我挚爱的老公为了另一个女人,活生生掐死我的孩子!结婚一年,除了孩子冷冰冰的尸体,我一无所有。遭受疯狂凌辱的那晚,我咬牙发誓,再也不会为任何人怀孕生子!直到有一天,新婚老公红着眼睛将我压在床上,要我给他的孩子偿命...

从氪金开始砍翻世界

从氪金开始砍翻世界

我!氪金狂魔,不服来战!...

爆笑宠婚:名门萌妻

爆笑宠婚:名门萌妻

你喜欢我老公?一千万卖给你了。火大的金贝贝,将滥情老公高价卖给小三,丢一纸离婚协议,潇洒回国。BOSS,夫人开价一千万,将你卖给约瑟小姐!韩墨,横跨黑白两道的商业撒旦,俊美非凡桀骜不羁。打死也不信有一天他会真的爱上一个女人,而这女人还将他廉价出售?BOSS,找到夫人了,她明天结婚。韩墨掀桌,备专机,带家伙,杀新郎,抢新娘!...

女神的特种保镖

女神的特种保镖

农村出来的青年当上女神的贴身保镖。谁说小人物翻不起大浪花。且看保镖林重纵横花花都市。...

每日热搜小说推荐