<分区>
我的同事刚刚看了我的代码并说,根据“某些标准”,从 for 循环返回函数值是不好的做法。
函数看起来像这样:
bool CentralWidget::isBitFieldFree(const QString& define, int lsb, int msb)
{
QString defineWithoutIndex = getDefineWithoutIndex(define);
for (int i = lsb; i <= msb; i++)
{
if ((registerBitMap[defineWithoutIndex] >> i) & 1)
return false; //Returning here early...
else
registerBitMap[defineWithoutIndex] |= 1 << i;
}
return true;
}
问题:
- 是否有禁止这样做的标准?
- 这是公认的不良做法吗?
- 如果是这样:为什么?