您的位置:首页 > 其它

刷题反思

2015-05-05 16:49 302 查看
最近刷题状态很不好,不仅在想出思路后码的慢,还总是能遇到个别case过不了,然后调试调几个小时,真是醉了。

不过总结一下,还是能发现具体的问题:

1. 首先,有时想好的思路较复杂,没有在大脑中很好的模拟一遍,匆匆码起来,发现思路有问题。这时大多只能从头来过,我靠,相当消耗激情。

2. 想好了正确的思路,但没有考虑边界条件处理,也不考虑要程序的结构性。直接开码的结果就是修改各个while和if的条件,我靠,调整来,调整去,疲乏。

3. 思路和代码逻辑流程都想好了,数据结构没有好好思考。码了一般才发现,用的这个数据结构的设计相当有问题,码起来各种别扭。我靠,不得不在修改数据结构的设计,然后不得不修改大量相关代码,伤。

所以在拿到一道题目时,我该:

1. 看清楚题目意思,关注概念定义,不要漏掉细节。

2. 想清楚思路,可以记录在纸上,并在脑中模拟一遍。

3. 设计清楚具体采用的数据结构,思考清楚在代码中如何使用。一旦设计好,不要轻易修改,不然很烦躁,还容易出错。

4. 迅速码完之后,复杂的代码要按流程调试一下数据走向,确保和思路没有差别。

5. 代码思路清晰还不算事,便代码的节奏也该正确。处理一个条件时,会产生的后果也该想清楚,并把对应部分代码也即刻写出来。不然在拖在后面些容易忘记,而且造成debug也不容易。

6. 写程序时,每一步用到的变量包含的含义要清楚。一旦混淆,就是难以寻觅的bug。同样每一句代码的意义也应当是自己明确的。

7. 通常逻辑清晰比代码简洁更优先考虑,往往逻辑清晰的编程代码也简洁。

我的题目解答:

1. 浙大PAT(http://www.patest.cn/contests/pat-a-practise):https://github.com/zakilo/pat2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  反思 程序