查看: 114|回复: 0

[Technovation] 【Technovation官方中文教程】编程14 - 程序调试小技巧

[复制链接]
本帖最后由 szjuliet 于 2021-3-27 22:57 编辑

教程地址:https://bit.ly/TGirlsCN-Coding14
返回教程目录:https://mc.dfrobot.com.cn/thread-308465-1-1.html

编程14:在App InventorThunkable进行调试的小技巧
  
本课中,您将学会……
  
●        在App Inventor和Thunkable中调试代码的小技巧
  

  
关键术语和概念
  
  
●        调试(Debugging - 程序员找出其代码无法正常运作的原因
  
●        测试数据(Test data - 一组简单的数据,可用于确保您的应用程序正常运行
  
●        注释(Comments - 代码中包含的用于解释其功能的文本
  
●        版本控制(Version Control - 在您取得进展时,对应用的有效版本进行保存
  

  
灵感 – 进行调试的小技巧
  
  
调试(Debugging)是程序员寻找其代码无法正常运作之原因的过程。在进行代码挑战的时候,您可能已经遇到了一些迫使自己重新检查代码,需要找出错误所在的情况。这是调试的本质,下节课将为您介绍如何使调试更容易的技巧。
  
  
有时候您可能已经知道如何编码某些东西,但仍然需要很长时间才能完成。即使明确地知道自己在做什么,非常优秀的程序员仍然会犯错误,因此,构建调试技术工具箱很重要,当您不确定问题出在哪里时,它可以提供帮助。每个人都有不同的调试代码的方法,经过练习,您会找出属于自己的方法。调试通常是编码中最耗时的部分,因此务必留出充足的时间!
  使用测试数据  
如果您的应用中有很多非常复杂的数据,那么使用测试数据(test data会很有帮助。测试数据是一组更简单的数据,您可以用它验证自己的应用程序能否正常运作。
  
  
举个例子,假设您正在创建一个应用程序,向用户显示离他们最近的餐馆在哪里。您希望使用fusion tables来存储餐馆名称、位置数据和电话号码。创建应用程序不需要fusion  tables中有一个完整的餐厅列表。您可以在添加真正的数据之前放入一两个测试餐厅,让应用运行一下。
  
  
“在代码中寻找错误时,是很难找到的;要是认为自己的代码没有错误,那就难上加难了。”
  
–史蒂夫·麦康奈尔(Steve McConnell),软件工程专家,作家
  使用通知程序(Notifier)和警报(Alert  
在App Inventor中称为通知程序(Notifier,在Thunkable中称为警报(Alert。它们可以帮助您弄清楚代码为何用不了。要在您的应用中放置通知程序或警报,请将其从用户界面面板中拖出。为如下所示的不可见组件:
  
  
   
App Inventor
   
Thunkable
image001.png    
                                                                                                              
   
image002.png    
  
  
以下为这种测试方法可能有用的场景:
  
场景1:如果您的按钮卡住了,或者函数不起作用,请进行调试。
  
  
   
App Inventor
   
Thunkable
image003.png    
image004.png


  
  
  
场景2:如果屏幕在加载或卡住,请进行测试
  
  
   
App Inventor
   
Thunkable
image005.png    
image006.png
  
场景3:测试一个循环是否卡住了
  
  
   
App Inventor
   
Thunkable
image007.png    
image008.png    
  
  折叠代码块  
如果右键单击一个代码块,将看到一个折叠它的选项。
  
  
   
App Inventor
   
Thunkable
image009.png
         
image010.png
  
  
  
折叠代码块会把它在屏幕上压缩成一小条。折叠代码块和普通代码块的原理一样,只是它们占用的空间更少。如果您有不再需要编辑的代码块,而且想要清理您的屏幕,进行折叠是很有帮助的。
  
  
  
   
App Inventor
   
Thunkable
image011.png    
image012.png    
  
  
  
要再次展开代码块,右键单击它们即可。
  
  
   
App Inventor
   
Thunkable
image013.png    
         
  • image014.png

  
  
  禁用代码块 (仅限App  Inventor)  
您也可以禁用代码块。禁用的代码块会停留在屏幕上,但无法执行任何操作。如果您想在没有特定代码块的情况下测试应用程序,但又不想删除它们,禁用代码块的做法将非常有用。您还可以禁用仅用于测试的代码块,例如通知程序。禁用代码块如下所示:
  
     
  
image015.png
  
要再次启用代码块,请右键单击它们,然后单击“启用代码块”(Enable  Block)。
image016.png
  
     
  注释  
程序员经常在代码中留下注释,对代码的功能进行解释。当其他人(例如组员,指导老师和裁判)查看您的代码时,注释也可能会有所帮助。如果您以后再回来看代码,却忘记了代码的某些部分,注释也可以提供帮助。要在App Inventor中添加注释,请右键单击这些代码块,然后选择“添加注释”:
  
  
   
App Inventor
   
Thunkable
         
image017.png
  
  
  
随后,代码块的边上将出现一个问号标志,您可以添加文本。单击问号可查看注释。
  
  
   
App Inventor
   
Thunkable
image018.png    
         
   
image019.png    
  
  
  
“通过学习创造技术,女孩们学会了说话。”
  
  
– Soronko Solutions创始人Regina Agyare
  版本控制  
假设您的应用程序已创建好,能正常运行了。您添加了一些新代码,突然程序就不能运行了。您又试着删除新代码,可应用程序仍然无法正常运行。您不确定哪里出了问题,希望能有一个“撤消”按钮。
  
  
为避免出现这种情况,您可以创建不同版本的应用程序。这些版本将保存代码,这样,如果您犯了一个错误又不知道如何解决它,还能返回到保存的上一个有效版本。您还可以使用版本控制来尝试新功能,无需担心会破坏自己的应用程序。
  
  
App Inventor
  
有两种方法可以在App Inventor中保存不同版本:使用“另存为(save as)”和“检查点(checkpoint)”。使用“项目另存为”选项,您可以创建正在使用的代码的副本,并以新名称保存它。“检查点”选项使您可以将代码保存为新名称。
  
  
  
  
   
另存为
   
检查点
image020.png    
         
image021.png    
         
  
  
  
Thunkable
  
Thunkable中,您可以随时复制应用程序。单击顶部菜单中的“进行复制”按钮。对已保存的副本进行重命名,以便您可以轻松地跟踪应用程序的每个版本。     
image022.png
  

  
活动 – 添加一条注释
  
  
如果您已经启动了Technovation的最终版应用程序,请将它用于本次活动中。若非如此,请选择其他编码活动中的某个应用程序。
  
在您的应用程序中至少添加一条注释,解释某组代码块是做什么的。选择一组您觉得最难理解的代码块,因为这也可能是其他人,比如小组成员理解有难度的地方。
  
下面是我们在上一个编码活动中的注释示例。它能帮助您理解这部分代码吗?
  
   
App Inventor
   
Thunkable
image023.png    
image024.png    
   

  
举一反三
  
  
调试是编码过程中很自然的一部分,所以如果您的应用程序第一次尝试运行不完美,也不要灰心。很多时候,大量的编码时间都花在了调试上。在提交之前,确保与组员和指导老师一起计划,留出额外的调试时间。
  

  
其他资源 – 更多调试资源
  
  
App Inventor和Thunkable论坛
  
如果在调试过程中出现与App Inventor或Thunkable有关的问题,可以加入App Inventor或Thunkable论坛,发布自己的疑问。
  
  
●       App Inventor论坛
  
●       Thunkable论坛
  
  
虽然热门的App Inventor和Thunkable社区通常很有帮助,并对问题作出回应,但可以现在论坛中搜索,看看自己的问题是否已经有人问过且有回答。这一步能为您节省不少时间。
  
  
在App Inventor中解释调试和版本控制的视频
  
  
观看本视频,了解更多关于在App Inventor中保存有效版本的知识: Saving Work Verison Control by Dan Rhode
  
  
观看本视频,了解编码中可能会遇到的一些错误,以及App  Inventor如何帮助你发现它们!
  
    
  
App Inventor测试文档
  
  
以下是MIT给出的一些技巧,可以帮助您调试App Inventor代码:  Live Development, Testing and Debugging Tools
  
(实时开发、测试和调试工具)
  



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2021 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail