仅通过测试进行验证基本上是在仪器上驾驶飞机,而不是能够向外看挡风玻璃。视觉飞行和肌肉记忆飞行与仪器相结合,既高效又安全。你不太可能误撞山。
当你已经编码了十多年时,可能很难重新捕捉初学者的思想,并向新手解释如何像程序员一样思考。我记得在大学里,当我编码的时间相对较短时,有一件事在我的脑海中结晶了编写代码背后的思维过程——你可以称之为程序员哲学。我正在帮助一个朋友完成计算机科学101任务。他们对编码完全陌生。
他们从头到尾在纸上写了一个完整的解决方案——也许是100行代码。然后,他们将其全部输入到文本编辑器中,并运行它。你认为发生了什么?他们得到了大约一千个语法错误。这时,他们来找我,感觉自己撞上了一堵砖墙。在同一堂课上,我一直坐在他们旁边——但至关重要的是,我已经编码了一段时间。我已经内化了编写代码的基本思维过程,而不必清楚地表达它。我们的老师未能传授这种思维过程。
主调试循环
然后,我必须向我的朋友解释的是我现在要称之为“主调试循环”的思维过程。我相信这是一种自然的思维方式,在所有程序员中都会发展起来——假设他们成功地学会了编码。它涉及将问题分解成非常小的部分。足够小,以便您一次编写1-3行代码。每次编写其中一个小块时,您都会运行该程序。通常它不起作用,然后您重试。慢慢地,你积累了你已经说服自己有效的代码。您可以迭代地构建整个解决方案。
<