我有一个模板化的类KeyValue,它定义了一个键值对。
class KeyValue
位于::distributed::utils
命名空间;
现在,如果我想使用KeyValue
,我可以写::distributed::utils::KeyValue my_kv
;
为方便起见,我可以导入命名空间:
using ::distributed::utils::KeyValue;
然后只需输入KeyValue my_kv
,只要我需要使用此类。
我现在遇到的问题是在头文件中使用::distributed::utils::KeyValue
违反了我为styleguide工作的公司(所以没有"使用"允许在头文件中)。
另外,我在头文件中编写了一些模板化函数,因此我无法将它们移动到cc文件(任何讨厌的方式也会被视为样式指南违规)。
因此,问题是:
围绕它的好方法是什么? 我发现的一种可能性是通过
缩写::distributed::utils
名称空间
namespace ::distributed::utils du;
然后在我需要du::KeyValue
对象的任何地方写KeyValue
。
但这仍然不是很好,因为我需要多次将KeyValue
更改为distributed::utils::KeyValue
(以及其他一些类)。
那么,有关如何在头文件中将::distributed::utils::KeyValue
缩写KeyValue
的任何帮助吗?
提前多多感谢。
P.S。将名称更改为其他不显示公司代码的名称。
答案 0 :(得分:0)
我建议不要在代码中寻找答案。正如经常所说的那样,代码的读取频率高于写入代码。因此,打字时的便利性是编码/命名选择的一个不好的原因。
根据您的环境,还有其他选择。您可以使用IDE的扩展设置。例如,在NetBeans中(我对其他IDE的经验不足,但想象有相同的选项),您可以将du+<TAB>
扩展为::distributed::utils
,如果这是您经常使用的内容。或者您当然可以键入$KV$
并使用搜索和替换,但这会暂时中断IDE中的代码分析。