
发表日期: 2021-04-09 13:02:00 浏览次数:190
慈利网络公司哪家好【慈利企业网站百度SEO推广公司】慈利做网站开发价格、慈利淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、慈利高端企业网站页面制作设计专业公司需要多少钱
慈利县,湖南省张家界市辖县,位于湖南省张家界市东部,地处武陵山脉东部边缘,澧水中游,东北与石门县毗连,东南与桃源县接壤,西北与桑植县相邻,西南与永定区连接,总面积3480平方千米。 [1] 截至2019年,慈利县辖15个镇、10个乡,户籍总人口69.4万人。 [2-3]
慈利县地处澧水中游,属湘西山区向滨湖平原过渡地带,地势自西北向东南倾斜,武陵山余脉在境内分为3支东西走向的山脉,澧、溇两水纵贯全境,境内的五雷山气温昼高夜低,冬寒夏凉,全境属中亚热带季风湿润气候区。 [4]
慈利县是国际旅游胜地—张家界的一部分,素有“金慈银澧”之称,是革命老区县、享有“温泉之乡”、“杜仲之乡”、“大理石之乡”、“大鲵之乡”等美誉。 [5-8]
2019年,慈利县实现地区生产总值178.3亿元,比上年增长7.4%。 [2] 2020年11月,被评为第十届湖南省拥军优属拥政爱民模范县(市)。2021年1月29日,入选湖南省人民政府公布的2020年度真抓实干成效明显的地区名单。
下面再来跟踪用户点击“下一题”按钮时发生的事情。

图 15-3 用户点击“下一题”按钮时执行的块
逐个检查每个块。首先是变量currentQuestionIndex的递增,说得更具体一些,变量当前值是1,经过+1的运算后,将结果2再赋给变量currentQuestionIndex。接下来看if语句,列表QuestionList的长度为3,显然currentQuestionIndex的值2小于3,因此if语句的结果是false(假),于是列表中的第2项(第二题)被写入QuestionLabel.Text中,如表15-3所示。
表15-3 点击“下一题”按钮后的变量及属性值
QuestionLabel.Text | currentQuestionIndex |
|---|---|
哪位总统在1979年实现中美建交? | 2 |
跟踪“下一题”按钮的第二次点击。现在currentQuestionIndex已经递增到3,会发生什么呢?继续阅读之前,细心地检查一下,看你能否跟踪正确。
在if测试中,currentQuestionIndex的值(3)的确≥列表QuestionList的长度(3),于是currentQuestionIndex的值被设为1,第一题被写入label,如表15-4所示。
表15-4 “下一题”按钮被第二次点击时的值
QuestionLabel.Text | currentQuestionIndex |
|---|---|
哪位总统在大萧条时期实施了“新政”? | 2 |
我们的跟踪揭露了一个错误:最后一题永远也无法显示!
通过类似的跟踪,最终使你成为一名程序员、工程师。你开始从机制上去理解编程语言,掌握代码中的语句和词汇,而不是对一些片段的模糊理解。诚然,编程语言是复杂的,但机器对每个“词”都有明确而且简单的解释,如果理解了块与变量或属性变化之间的对应关系,也就理解了如何编写或修复你的应用,当然也就实现了对应用的完全控制。
现在如果你告诉朋友们,“我正在学习如何让用户点击‘下一题’按钮来看到下一道题,这实在是太难了!”他们会以为你疯了。但这个过程的确很困难,困难不在于概念的复杂性,而在于你不得不有意让自己的脑子慢下来,来搞清楚计算机的每一步处理过程,包括那些你的大脑下意识完成的过程。
逐步跟踪不仅是理解编程的方法,同样在调试有问题的应用时,也是一个屡试不爽的方法。
像App Inventor这样的开发工具(通常被成为交互式开发环境,或IDEs-Interactive Development Environments)一般会提供了一种调试工具,相当于纸笔跟踪记录的高科技版本,能够自动完成某些跟踪过程,这极大地改善了应用开发的进程。这些工具提供了一个描述正在运行的应用的视图,程序员可以在其中:
在任何一点暂停应用来检查其中的各个变量及属性;
单独执行某些指令(块)来检查它们的执行效果。
说明:监视变量是AI1(App Inventor version1.0)中的功能,目前尚未在AI2中实现。
除了可以用监视功能来检查应用运行过程中变量及属性的变化,还有另一个工具“Do It”,可以让你脱离开程序通常的运行顺序,单独测试某些块的运行。右键点击一个块,在快捷菜单中选择“Do It”,这个块就会开始执行,如果这个块是一个有返回值的表达式,App Inventor将在块的上方的方框内(在注释块中插入两行)显示返回值。如图15-4及15-5。

图 15-4 右键点击事件处理程序中的任何一个块,会弹出快捷菜单

图 15-5 在快捷菜单中选择“Do It”,可以执行该块,并查看返回值(如果有)
“Do It”在调试块的逻辑错误时非常有用。还是回到“总统测试”例子中的NextButton.Click事件处理程序,并假设程序中存在逻辑错误,无法浏览所有的问题。调试过程需要在开发环境及测试设备上同时进行。在用户界面上点击“下一题”按钮,然后回到块编辑器查看是否每次点击都显示了适当的问题。也可以监视变量index在每次点击时的变化。
但是这类测试只允许检查整个事件处理程序的执行效果,在运行完所有的块之前,你无法检查你要监视的变量或用户界面。(抓不到逐句的中间状态)
“Do It”允许你减缓测试过程,并检查任何一个块执行完成后的整个应用的状态。一般是从用户界面上的事件开始跟踪,直到发现问题所在。在发现无法显示最后一题之后,你可能在用户界面上点击“下一题”一次转到第二题,然后不再继续点击“下一题”,而是在块编辑器中让整个事件处理程序一步一步地运行。在NextButton.Click事件处理程序中,每次对一个块使用“Do It”让块执行,如图15-6中,先右键点击第一行的块(让变量index递增),并选择“Do It”。

图 15-6 使用“DoIt”工具,每次只执行一个块
此时index的值变为3,应用停止执行——“Do It”只能使被选中的块以及它所包含的子块运行,这可以让测试者检查被监视变量以及用户界面的变化。接下来,选择下一行要测试的块(if测试)并选择“Do It”来执行该行,其中的每一步都能看到每个块的执行效果。
有一点需要强调,这种逐行执行指令的方式不仅仅适用于程序的调试,它同样适用于开发过程中的随时测试。例如,如果你写了一个很长的公式来计算两个GPS坐标之间的距离,你可能要分步测试这个公式,来验证这些块的使用是否正确。
另一个有助于渐进式调试应用的方法是启用或禁用某些块,它允许应用中保留有问题的或未经测试的块,并让系统在运行过程中暂时忽略它们,然后充分调试那些启用状态的块,而不必担心那些有问题的部分。禁用块很简单,在块上点右键,在快捷菜单中选择Disable Block即可,被禁用的块呈现为灰色,在应用运行时,这些块被忽略;需要时,还可以重新启用这些块,方法是在块上点击右键并选择Enable Block。
App Inventor的伟大之处在于它的易用性——可视化的特点让你可以直接开始一个应用,而不必担心那些低层的细节。但现实的问题是,App Inventor不可能知道你的应用要做什么,更不知道如何来做。尽管直接进入组件设计器与块编辑器创建应用是件让人着迷的事情,但这里要强调的是,花一些时间来思考并详细、准确地设计应用的功能,是非常重要的。这听起来有些烦,但如果你能听取用户的想法、创建原型、测试并跟踪应用的逻辑,那么创建出精彩应用的目标指日可待
慈利网络公司哪家好【慈利企业网站百度SEO推广公司】慈利做网站开发价格、慈利淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、慈利高端企业网站页面制作设计专业公司需要多少钱
服务热线
顶部
备案号: 苏ICP备11067224号
CopyRight © 2011 书生商友信息科技 All Right Reserved
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: http://www.768800.com 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878