根据MISRA C++ 2-5-1
我们通常应该避免弄乱有向图。虽然,我不明白为什么我们还应该避免使用易读的单词and
,or
等not
来定义常见的运算符&&
, ||
, ...
该问题甚至被强调为 Sonar/MISRA的“主要”问题:
[Major] Open Replace this digraph 'and' by its equivalent '&&'
[Major] Open Replace this digraph 'and' by its equivalent '&&'
[Major] Open Replace this digraph 'or' by its equivalent '||'
[Major] Open Replace this digraph 'or' by its equivalent '||'
[Major] Open Replace this digraph 'or' by its equivalent '||'
该规则是否还包括人类可读??=
的二合字母(与神秘的,完全不同??/
),或者该规则过于笼统?我没有发现使用它们有任何特别的风险或副作用,我错了吗?
加起来
这个 MISRA 规则是否有功能原因也包括人类可读的二合字母?我应该避免它们只是为了盲目地满足代码合规性规则还是隐藏一些真正棘手的原因?