C语言 正确的变量名是什么?



在实时嵌入式设备的实现中,我为每个通道都设置了一个状态寄存器变量(让我们盲目地假设我的嵌入式设备有多个通道,并且必须为每个通道完成一些工作)。

下面是当前声明状态变量的方式:
struct channel_status status[NCHANNELS];

考虑到性能,最好使用一个中间全局变量,该变量是所选通道的status变量的副本。

的例子:

struct channel_status status_shadow;
void some_work() {
    for(channel = 0; channel < NCHANNELS; channel++) {
        status_shadow = status[channel]; 
        foo(); // Function that use the status_shadow as global
        bar(); // "
        baz(); // "
        status[channel] = status_shadow;
}

我不是在讨论实现,也不是使用指针代替变量的可能性。我的问题与中间变量的名称有关。

我选择了status_shadow,因为我认为我在做某种阴影。

对于这种中间变量是否有一个更好/更准确的技术名称?

实现注意事项:

我决定使用这个中间变量的原因是因为将通道指针i或状态变量传递给每个函数foo, bar, baz,…在性能方面,避免堆栈推送/弹出可以节省实时应用程序的一些宝贵时间。

从技术上讲,你不是在跟踪;您必须定义一个具有相同名称的变量来遮蔽它。此外,阴影通常是不受欢迎的,因为不小心使用可能会导致容易混淆。

您正在做的是为您的周期取当前项目,因此合适的名称可以是current_statuscur_status。如果您使用它作为参数,那么名称将只包含在for()中,它也可以是currentcur_item

另一个想法可以是temp_channel_status,这意味着值不被认为是固定的,尽管变量是全局的。

我想要一个名称,如work_statusstatus_copy

您可以使用status_localstatus_local_copy

最新更新