思考:要做到Bug Free需培养怎样的思维?
一般来说,刷题、写代码想要快速入门并达到Bug Free的水平是几乎不可能的,只有勤练习,才可以逐渐全面自己思考问题的角度,减少编写代码时候的漏洞。而在炼成 Bug Free 的漫漫长路上,又有两重坎:写无 Bug 的代码和周全的算法。
当然,想要达到这两重砍的训练方法和我们平时在力扣由浅入深学习算法题的训练是一致的。
总的思路可分为几个步骤,第一步先练好写基本代码的能力,做到想实现什么功能就能不假思索地码出简洁的代码来、指哪打哪、快准稳狠。
接着后续再提升自己思维能力和考虑问题的周全性,同时积累一定的做题经验,面对题目时要能快速发现坑点,有能力构造一些特殊数据,测试自己程序的健壮性。
具体来说,写出没 Bug 的代码,其实秘籍只有两个字:练习。但光如此还不够,可能会忽略一些关键问题。
想要快速提升编写代码的能力,你需要注意力小编提示的下面几点。
如果反复思索多次,还不明白关键信息,那可以通过画图或者手动几组数据测试的方法进行摸索。在此过程中,你觉得哪里才是容易出错的地方?
这就得靠我们平时写代码时需多踩坑,多积累。
正如一些同学所说,发现每次遇到 For 循环操作 String 的时候,总会出现一些边界问题。这其实就是对容易出错地方的一种总结,下次再写到的时候多注意就不会出 Bug 了。
学习优质的写法慢慢形成自己的风格。举个例子,比如刚开始写二分时,很多人都会左开右闭、左闭右开分不清。倒不如先学习一个简单的记录答案写法,保证自己遇到这类问题肯定能写对,然后随着刷题量的增加慢慢领悟其他写法。这也算是一种先借鉴,后续通过自己能力的自然提升,了解到其中的道理。
int left=1, right=Inf, ans=Inf; while(left<=right){ int mid=(left+right)/2; if (check(mid)){ ans=min(ans, mid); right=mid-1; }else left=mid+1; }