扫码阅读
手机扫码阅读

微软Canvas App实战之不完美的代码复用

391 2023-09-06
摘要:微软Canvas App实战中的代码复用问题

随着2020年的结束,作者祝愿大家新年快乐,并继续探讨微软Canvas App实战中的一个常见挑战:不完美的代码复用。

代码复用对开发人员来说是一个日常实践,旨在减少重复性工作。Excel用户通过宏(实际上是预设的VBA函数)实现类似目的。然而,在编写Canvas App表达式时,发现它不支持自定义函数,这对开发者来说是一大限制。虽然控件间的复制粘贴操作简单,但后续修改时,追踪复制的所有位置变得困难,一旦有遗漏,可能导致功能严重问题。

微软并没有为这一问题提供直接的解决方案。不过,开发者可以利用现有功能之一——Select函数——来变通解决这个问题。Select函数可以触发按钮,开发者可以创建按钮,并在其OnSelect事件中编写需要重用的代码片段。在需要复用代码的地方,执行Select(按钮名)即可实现代码复用。尽管这种方法有效,但在使用过程中需要注意以下几点:

  • 避免创建死循环,确保代码复用性并且编辑器也会帮助识别潜在的循环。
  • Select函数是异步执行的,可能导致代码执行顺序不是按照预期进行,特别是当多个Select调用涉及共享变量时。
  • 由于不能传递参数或返回值,使用按钮作为函数的替代品只能实现有限的复用。
  • 作用域限制在单个Screen内,无法实现全局函数效果。
  • 为了避免用户混淆和误操作,开发者需要在发布App前隐藏这些辅助按钮,这需要额外的操作。

尽管存在诸多不便,这种代码复用方法是目前唯一可行的方式,属于实战开发中的重要技能。不掌握这个技巧可能会导致淹没在混乱代码中或对偶发的bug束手无策。

文章最后提供了延伸阅读材料,包括微软Canvas App实战中的事件驱动或数据绑定和定制化表单数字的呈现,供有兴趣的读者进一步探索。

想要了解更多,点击 查看原文