调试(Debugging)是程序员寻找其代码无法正常运作之原因的过程。在进行代码挑战的时候,您可能已经遇到了一些迫使自己重新检查代码,需要找出错误所在的情况。这是调试的本质,下节课将为您介绍如何使调试更容易的技巧。
有时候您可能已经知道如何编码某些东西,但仍然需要很长时间才能完成。即使明确地知道自己在做什么,非常优秀的程序员仍然会犯错误,因此,构建调试技术工具箱很重要,当您不确定问题出在哪里时,它可以提供帮助。每个人都有不同的调试代码的方法,经过练习,您会找出属于自己的方法。调试通常是编码中最耗时的部分,因此务必留出充足的时间! 使用测试数据 如果您的应用中有很多非常复杂的数据,那么使用测试数据(test data)会很有帮助。测试数据是一组更简单的数据,您可以用它验证自己的应用程序能否正常运作。
举个例子,假设您正在创建一个应用程序,向用户显示离他们最近的餐馆在哪里。您希望使用fusion tables来存储餐馆名称、位置数据和电话号码。创建应用程序不需要fusion tables中有一个完整的餐厅列表。您可以在添加真正的数据之前放入一两个测试餐厅,让应用运行一下。
“在代码中寻找错误时,是很难找到的;要是认为自己的代码没有错误,那就难上加难了。” –史蒂夫·麦康奈尔(Steve McConnell),软件工程专家,作家 使用通知程序(Notifier)和警报(Alert) 在App Inventor中称为通知程序(Notifier),在Thunkable中称为警报(Alert)。它们可以帮助您弄清楚代码为何用不了。要在您的应用中放置通知程序或警报,请将其从用户界面面板中拖出。为如下所示的不可见组件:
App Inventor | | | | 以下为这种测试方法可能有用的场景: 场景1:如果您的按钮卡住了,或者函数不起作用,请进行调试。
场景2:如果屏幕在加载或卡住,请进行测试
场景3:测试一个循环是否卡住了
折叠代码块 如果右键单击一个代码块,将看到一个折叠它的选项。
折叠代码块会把它在屏幕上压缩成一小条。折叠代码块和普通代码块的原理一样,只是它们占用的空间更少。如果您有不再需要编辑的代码块,而且想要清理您的屏幕,进行折叠是很有帮助的。
要再次展开代码块,右键单击它们即可。 禁用代码块 (仅限App Inventor) 您也可以禁用代码块。禁用的代码块会停留在屏幕上,但无法执行任何操作。如果您想在没有特定代码块的情况下测试应用程序,但又不想删除它们,禁用代码块的做法将非常有用。您还可以禁用仅用于测试的代码块,例如通知程序。禁用代码块如下所示: 要再次启用代码块,请右键单击它们,然后单击“启用代码块”(Enable Block)。 注释 程序员经常在代码中留下注释,对代码的功能进行解释。当其他人(例如组员,指导老师和裁判)查看您的代码时,注释也可能会有所帮助。如果您以后再回来看代码,却忘记了代码的某些部分,注释也可以提供帮助。要在App Inventor中添加注释,请右键单击这些代码块,然后选择“添加注释”: 随后,代码块的边上将出现一个问号标志,您可以添加文本。单击问号可查看注释。 App Inventor | | | | “通过学习创造技术,女孩们学会了说话。”
– Soronko Solutions创始人Regina Agyare 版本控制 假设您的应用程序已创建好,能正常运行了。您添加了一些新代码,突然程序就不能运行了。您又试着删除新代码,可应用程序仍然无法正常运行。您不确定哪里出了问题,希望能有一个“撤消”按钮。
为避免出现这种情况,您可以创建不同版本的应用程序。这些版本将保存代码,这样,如果您犯了一个错误又不知道如何解决它,还能返回到保存的上一个有效版本。您还可以使用版本控制来尝试新功能,无需担心会破坏自己的应用程序。
App Inventor 有两种方法可以在App Inventor中保存不同版本:使用“另存为(save as)”和“检查点(checkpoint)”。使用“项目另存为”选项,您可以创建正在使用的代码的副本,并以新名称保存它。“检查点”选项使您可以将代码保存为新名称。
Thunkable 在Thunkable中,您可以随时复制应用程序。单击顶部菜单中的“进行复制”按钮。对已保存的副本进行重命名,以便您可以轻松地跟踪应用程序的每个版本。 |