递归随笔
很久没写博客了,感觉虽然写了很久代码,但是能分享出来的还是很少,很多代码刚写出来很开心,但是又觉着单独写一篇博客有点小题大做。
最近写代码给自己的感受就是规范和美感,以前写代码的时候从来没人告诉我要写的美一点,或者自己对代码如何美都没有概念,第一份工作的组长第一条就提了一个我从来没关注过的东西,项目中不能有标黄。
刚开始听着内心毫无波动,甚至有点想笑,后来慢慢的我真的自己写出来了好几个项目了,我才慢慢感觉到,linux中的 ‘small is beautiful’ 是如此的贴切,又加上现在项目中特意要求了要规范代码和写出来有美感的代码,
我开始真正的去每写一行代码都去想一想我能不能再抽一层,然后把这部分代码单独抽出来调用,每一个标黄我都会去找为什么idea会认为这句代码有bug,然后再换种写法。说的有点跑题了,不过我希望有人看到的时候也能
去注意代码的整洁之道。
进入正题,递归虽然很早就了解到了,但是一直没机会在实际代码中运用,先说下递归的原理,递归也就是重复的调用自己的代码 ,然后根据条件分出不同的节点,通过不断的简单程序,把构成一个逻辑的最基本步骤抽出来然后再利用循环重复调用此基础步骤。
private void fab() { if (true)) { //执行逻辑 } else { //处理逻辑 fab();//再次调用 } }
写着写着突然想到项目源码不能外漏,算了 就留个调用框架吧
这里面具体要执行到哪一步还是得靠条件来约束,还有就是写递归的时候一定要跳出实现逻辑之外去想,不要进去递归调用里面去思考程序走向。