2)第十一章 接下第一个悬赏任务_这个吞金兽不好养
字体:      护眼 关灯
上一章 目录 下一章
  活中都要用代码交流了。

  经常会说…

  打个比方?比如?如果?否则?死循环?炸了?死了?宕机了?崩了?傻了?重复bug为什么?不可能?不应该?

  你觉得怎么样?我不知道,我不会,我也不清楚。

  需求文档呢?没有。

  你这个有问题,你那个...…

  无限重复bug,无限改。

  好烦,或许,可能,大概,我想不出来。

  你有什么好建议?加个东西很简单的!结果搞了一天。

  所以程序员,那些码农每天说来说去都是以上这些话,基本上都能把人给逼疯了。

  接过这个悬赏之后,叶新晨就是认真的看了起来,这个文件包还是挺不小的,而且这些代码看的令人非常的头疼。

  阅读代码有两种模式:top-down和bottom-up。

  Top-down模式,就是先设定一个usecase,比如说打开一个文件,然后静态跟着代码看,或者用debugger跟着看。

  这样子每次出现函数调用的时候,把函数的执行层次纪录下来。

  大致如下:

  func2

  func3

  这种图表很随意,是可以根据自己的需要增加信息。

  比如有的人有时会把重要的实际参数一直标下来,这样阅读深层次代码不用再回头查形式参数到底指什么。

  这个基本作用是防止在阅读深层次代码时忘记总体执行层次。

  而Top-down模式进行到一定层次,往往会发现虽然图画了出来,但还是无法了解程序再干什么。这时需要转入bottom-up模式,一直深入到最底层,给能了解作用的底层函数一个一个的写文档。

  当然这时的文档是完全底层的观点。

  然后就是不断在两个模式之间转换,不断的细化两种模式的理解。

  虽然看这样子看代码会简单很多,但是还是也会一直看的人眼睛眼花缭乱。

  而另一方面,在叶新晨接了这个悬赏不久,发布这个悬赏的人就给他发了一些消息。

  天涯海角:你好,有些地方我要跟你说一下,因为我怕你看代码看的时间会很久。主要的问题就是我改了一个功能,结果总是跟预期对不上,查了代码C++的,没发现逻辑问题,然后花了几天,终于发现了关键点:有一个变量,莫名其妙在不经意间值就会变了。

  天涯海角:然后我自然就开始怀疑是多线程没有保护的问题,但研究后不像,发现这个变量值跳变也不是随鸡的,总在一行特定的位置后,值就会变了,这一行特别简单,就是个简单的加法,然后跟这个加法不直接相干的另一个变量的的值就会发生变化。

  天涯海角:所以就这个给我直接卡住了,我问了不少的程序员大咖都没有给我整明白,所以希望叶子兄能够帮我找出来哪个环节出现问题了。

  叶子兄自然就是叶新晨的黑土平台的网名,毕竟黑土平台也不会让你用真名,身份证信息平台可以知道,但是没有必要让平台的用户知道,毕竟万一有人有仇,将身份信息泄露出去,那也不是一件美好的事情。

  叶新晨看着这个天涯海角发来的消息,脑海里也是自动浮现出了一个经验知识。

  PS:这些都是简单的程序问题,不是复杂的程序问题,所以以后我要是写到有夸张的地步的问题,实际上也都是简单的程序问题,所以如果有程序员大佬看到莫怪。因为我不会写那些复杂的……

  请收藏:https://m.xorkon.com

(温馨提示:请关闭畅读或阅读模式,否则内容无法正常显示)

上一章 目录 下一章