叶子:关于更简单的阅读代码的方法我是没有的,不过如果只是单单为了特殊情况的去读代码,那我还是有一定的技巧的。
曹志文看着大神发来的消息,也是赶紧再一次的回复。
天涯海角:叶子大神,你说,不论有用没有用,这悬赏都会给你,毕竟我朋友问这个问题也的确是有些强人所难了。
叶新晨看着曹志文发来的消息,还是松了口气,毕竟如果这个悬赏完成不了的话,那他的接悬赏任务的胜率也就是只有百分之五十了,这是叶新晨也不能够忍受的。
而且……
他应该先问是什么问题,而不是先接这个问题,差点就让他没有一个完美的解决办法。
毕竟曹志文的朋友问的问题的确是有些别出心裁。
叶子:行,那我先跟你说一下简单的东西,读代码,肯定是读写的好的代码,而这些代码一般是遵循一些原则。而这些原则,很难从最后的代码中反推出来。这些原则一般都是 declarative knowledge。而我们看到的代码大多是 imperative code,即使是 funal program 或者 declarative language 的 code,一般也是用低级的抽象来描述高级的原则。
叶子:举一个类比。目前体育比赛中很多规则的修改,都是借鉴以往比赛中一些旧规则导致比赛比较沉闷,或者被运动员钻空子的经验教训,但是单单去看这些规则,你无法反推出来它们是为了避免什么情况。
叶子:所以所谓的读懂写的比较好的代码,一般是从代码以外的途径了解作者的意图,然后再掌握作者贯彻这些意图的一些基本习惯。
叶子:就像你之前的悬赏一样,如果没有你的意图和主观的对我说问题的所在,你让我去看去读你的代码也起码得消耗很长时间。所以我的额外技巧也就是最好能够掌握作者的意图。
曹志文看到这里,也是有些茅塞顿开的感觉,这个技巧绝对非常实用的,因为他们也不是经常看代码的人,阅读代码也只是有时候检查,或者是和朋友几个看看写的代码,又或者是也接点悬赏练习一下。
他们真的不会去问写出代码的这个人是基于什么意图去写的,如果问一下,那他们去阅读这个代码再加上阅读代码的模式,绝对可以起到事半功倍的效果。
而且曹志文也觉得自己写的时候也发现很多情况下逻辑被隐含了,特别是if-else这样的,为什么有些情况可以合并,有些可以忽略,如果不注释,光从代码本身是难以看出的,所以如果能够从自己的意图去看,那么还是能够发现缺陷的。
天涯海角:叶子大神不愧是叶子大神,这种技巧很实用。
的确很实用,因为这种极少如果没有大量的经验是不可能想出来这种技巧的。
叶子:另外有一种很出名的debug技术,就是用静态分析的方法找到代码中的implied invariant,然后搜索有什么地方违反了这些原则。这个技术和我的技巧也是有一定的相似处,如果你还要研究怎么阅读代码,多去看看debug技术。
曹志文只觉得受益匪浅,大神不愧是大神。
天涯海角:好的,那我把悬赏结了。
很快,叶新晨也是再一次的收到了银行卡到账的消息,两万块钱也是又一次的到手!
这令叶新晨开心的同时也是有点后怕,而且他发现了一个很严重的问题,那就是他目前所解决的这些悬赏,无一例外,都是日常系统给他的初级程序员经验解决的,而没有用到程序员的知识!
这令叶新晨有点想起高考一样的题海战术,只要你题目做的越多,那么高考对于你就是很轻而易举的事情,而计算机方面的也是一样,关于程序问题代码问题,那也是熟能生巧的事情。
当然如果还要继续往上,那就得需要天赋了。
闲话少说,叶新晨现在发现悬赏的都是属于经验问题,而经验问题的的确确是很多程序员都缺的,而有经验的也的确都是各大公司的精英,他们的话就会很少玩这个黑土平台,而没有经验的自然是有很多问题,问同事那也不可能一直问,那么黑土平台就是他们的悬赏地方了。
“这么一想,我该庆幸得到的是日常系统的初级程序员经验知识,而不是日常系统的初级程序员知识。”
毕竟一个有经验一个没经验,肯定是有经验的好啊。
曹志文将悬赏结了以后,也是马上把这些对话转发给了邵森林的黑土账号。
而邵森林的黑土账号则是森林,他被曹志文在微信上弹了一下就登录上了黑土账号,然后认真的看着曹志文发给他的对话。
而邵森林看着叶子大神的对话,也是有些醍醐灌顶的感觉,原来是这样子啊……
这个技巧绝对是不亏的,因为这是经验总结出来的,他们没有足够的经验,是不可能获得出这个技巧的。
这个技巧看起来简单,但是谁能够发现得了呢?
森林:大神不愧是大神,能不能让大神也加我?
天涯海角:你想的美吧,下次,下次一定。
森林:妈的,你这个下次何其多?跟明日复明日一样。
………
接着,叶新晨也是继续的看起了悬赏,而且现在已经理解了黑土平台悬赏板块的最核心了,所以现在叶新晨心里面也是没有了太大的担心,五万以下的悬赏都可以放心接,因为日常系统给他的初级程序员经验绝对可以应付得了,因为那是最为全面的经验。
所以叶新晨对于怎么在这二十多天里面赚到十五万,也是有了足够的把握。
有人常说时间就是金钱,那么现在对于叶新晨来说,时间的的确确就是金钱,因为他的丰富的经验就帮他免去了一部分时间,这就相当于让他免去了繁琐的前提,能够提前完成悬赏,这是最离谱的。
“要不要接一下那些大公司的悬赏?反正那些大公司的悬赏谁都可以接啊!”