电子试卷之填空题5:记录答案
为了让代码具有良好的可读性,给组件、变量及过程取一个恰如其分的名字,是非常要紧的事情。所谓名不正,言不顺,反之则名正言顺,尤其是对于我们老师来说,一个好名称省去了很多不必要的解释,如果代码读起来就像一篇短文,那么何愁学生听不懂呢?
通常我们用名词或名词性的词组来命名组件、变量以及有返回值的过程,而用动宾词组来命名没有返回值的过程。留心项目中的各项命名,看是否真的如此!
本节课的目标是记录学生每道题的答案,当学生浏览题目时,在那些没有回答过的题目中显示“囗”,而在已经回答过的题目中,显示带有答案的完整内容。
试着读一下提交按钮的点击程序:如果答案(的显示文本)为空,则对话框1显示警告信息(省略),否则,拼接答案。
开发的过程也是理解用户需求的过程:当用户浏览题目时,已经回答过的问题与尚未回答的问题要区别对待;而且你要想象用户的使用场景,他/她可能不按顺序答题,因此必须初始化答案列表,并使用替换列表项(而非添加列表项)的方式来记录答案!
在显示题目过程里,调用了拼接答案过程,这就是上节课提到的过程之间的调用,相对于显示题目过程来说,拼接答案过程就是低级过程,而显示题目过程则为高级过程。
在应用开发过程中,自始至终伴随着对错误的纠正。错误的来源是多方面的。在最后一段视频中出现了两个错误,第一个错误与代码无关:由于屏幕初始化程序没有执行,所以答案列表为空,从而导致了程序运行时错误;第二个错误与代码的执行顺序有关,改变两个过程的调用顺序后,程序运行正常。
纠错,或者说找bug,是一个程序员进步的阶梯,也是提升逻辑思维能力的绝好机会,这其中并无捷径可循,唯一的方法就是顺藤摸瓜,从问题的结果向问题的原因追溯。
作业:
测试程序,当点击提交按钮之后,观察页面上的变化,看是否有什么不妥之处,并予以改进。
附组件列表及代码截图:
新增及改动过的组件:
新增及改动过的代码:
请将学习过程中的疑问,以及对课程的意见或建议写在留言中。