我的同事刚刚看了我的代码并说,根据“某些标准”从 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;
}
问题:
- 有没有禁止这个的标准?
- 这是被认为是不好的做法吗?
- 如果是这样:为什么?