技巧和窍门–限制功能复杂性是一个要求!

最近,我对旨在测试和提高心理速度,注意力,记忆力,灵活性和问题解决能力的脑部训练应用程序感兴趣。尽管我相信自己拥有出色的记忆力,但我对自己在记忆游戏中的表现却很差劲却感到惊讶。我最喜欢的游戏之一是显示一个带有正方形的网格,并以随机的模式点亮。游戏提供了一个较短的时间段来记忆模式,然后清除网格。然后,玩家必须单击正方形并重新创建图案。当模式包含10个或更少的正方形时,我是绝对冠军,但是当它变成11个或更大时,我的一致性和成功率就会下降。

 img_5995

记忆游戏清楚地表明,尽管我们相信自己是超人,有能力或会记住一切,但实际上我们是相当人性化的。这与嵌入式软件有什么关系?记忆游戏显示,人类可以轻松地一次处理并跟踪7至10件物品。编写具有十多个分支的复杂函数意味着开发人员可能突然开始努力记住该函数中发生的一切。这是一个重要的限制,它告诉开发人员,为了最大程度地减少错误潜入其软件的机会,应将功能的复杂度限制为小于十。

限制功能的复杂度是确保组成整个系统的软件组件不超过一定程度的复杂度的最佳方法之一。工程师可以通过多种不同方式来测量功能复杂性。我最喜欢的测量是循环复杂度。市场上有很多工具可以分析程序中的每个功能,然后提供代表功能复杂程度的工具。测量所做的是确定通过该函数的线性独立路径的数量。为了跟踪(心理上)函数中正在发生的一切,结果数应保持在10以下。

记忆游戏也很好地表明了开发人员不应通过编码进行设计。在实现之前,应该花一些时间来制定体系结构以及应用程序在做什么。否则,很可能会导致开发人员本地RAM中缺少一些关键信息,并且可能导致大量的调试会话或项目延迟。

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.