为什么在两处定义相同的句柄?

在8-3-2视频代码里面,在驱动.c文件中使用静态变量定义了队列的句柄,并且提供了外部访问的函数。为啥在game.c里面还要静态定义相同的句柄,并且只有game1_task使用了驱动文件里面提供的外部访问函数?

良好的编程习惯是:不要直接使用其他文件里的全局变量;那a.c就想使用b.c里定义的全局变量怎么办?b.c里提供一个函数,a.c调用这个函数得到b.c里定义的全局变量。这样的话,不管b.c里全局变量的名字怎么变化,a.c都不受影响