最近一直在想所谓的编程能力到底是什么。
诱因是这次16年的种子杯:辛辛苦苦一个星期,居然连初赛都没有过,真的很难受,也对自己的能力产生了怀疑。
现在再回头想想题目和自己写的东西。
题目很简单,一个最简单的词法分析器加上一个稍微复杂的语法分析器,这些东西的原理我已经在各类编译原理的书上看过很多次。实现的流程和方法基本心里都有一个数,甚至在题目出的那个晚上我就知道大概应该怎么写,写些什么了。
但是,最后完成的代码很多逻辑漏洞百出,花了一晚上时间通宵重构,最后还是有很多问题。
这次是我动手实现的能力不能匹配我的理论知识,而我之前一直觉得动手写出具体的实现是我的强项。
好好的反思了一下自己,我发现自己以前写代码一直是凭着经验来写。为什么我知道怎么做?为什么我写的比其他一般同学更快?不是因为我学习的速度快,而是因为我写过的代码更多,很容易就能从以前的东西导出一些相似的部分。
这种学习模式是有问题的。在面对一个自己没有动手做过的东西的时候,要经过大量的试错才能真正上手。
以后要锻炼自己学习完全陌生的知识的能力,编程不是简单的重复Copy&Paste,面向Google编程的习惯也要改一改了,遇到未知的问题先思考再寻找解决办法。
反思
Socket编程学习记录
Glide学习记录
>