我们的项目中有一个呼叫堆栈。程序是为单片机编写的,语言为C。调用堆栈基本上是一个整数数组。表示此调用堆栈的变量以字符串_stack结尾。
我在审查执行情况。该功能是重置恢复,而不是调用堆栈,但调用堆栈是该功能的一部分。当我第一次看到变量时,我认为它被用作堆栈。所以我假设如下:
接下来,我发现第一个条目(索引0)总是在特殊情况下检查的。我还找到了一个函数,其中数组的所有元素都按顺序从索引0读取到顶部。它们都是无效的堆栈操作。
我认为变量名不应该包含字符串stack,因为它不是堆栈,而是用作列表。但编码器显示的是有效的逻辑,根据语义意义,它是一个堆栈,实际上是推送操作。
应该用*stack*命名变量吗?
发布于 2012-01-23 12:32:33
在您的例子中,将结构称为list (显然是)和stack (它实际上是用作结构)之间的区别在于System& Apps匈牙利符号之间的争论。
视情况和背景而定,其中一种可能比另一种更合适。一般来说,Apps匈牙利语为读者提供了一个更好的使用基于名称的变量的上下文,而不是系统匈牙利,因此导致了某种程度上的自文档化代码。
发布于 2012-01-23 23:58:24
舒赞举起他的杖,在他的僧侣面前挥手。“如果你称它为杖,”他说,“你否认它的永生。如果你不称它为杖,你就否认它现在的事实。告诉我你打算怎么称呼它?”
如果它是堆栈的变体或修饰,我可以称它为堆栈。
但我确实希望有一些评论或文档来解释它所代表的信息,正常的类似堆栈的操作意味着什么,以及为什么有必要让其他不遵守堆栈规则的操作。
https://softwareengineering.stackexchange.com/questions/131362
复制相似问题