代码评审三步走

发表于:2012-7-23 10:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:夏江平    来源:tester

分享:
else
{
MonsterVec validMonsters;
MonsterVec invalidMonsters;
validMonsters.reserve(monsterIds.size());
for (IntSet::iterator it = monsterIds.begin(); it != monsterIds.end();++it)
{
MonsterVec::iterator invalidIt
= std::find(invalidMnsIds.begin(), invalidMnsIds.end(), *it);
//数据库中存在,且类型也有效
if ( invalidIt == invalidMnsIds.end()
&& mnsTypes.find(*it) != mnsTypes.end())
{
validMonsters.push_back(*it);
}
else // 怪物Id和对应的怪物类型不一致或怪物不属于部落群
{
invalidMonsters.push_back(*it);
}
}
vmnsInfos[ivp].horde = mnsInfos[i].horde;
vmnsInfos[ivp].monsterInfos.length((unsigned long)validMonsters.size());
for (unsigned int k = 0; k < validMonsters.size(); k++)
{
for (CORBA::ULong pos = 0; pos < mnsStatusSeq.length(); pos++)
{
if ((int)mnsStatusSeq[pos].monsterId == validMonsters[k])
{
vmnsInfos[ivp].monsterInfos[k] = mnsStatusSeq[pos];
break;
}
}
}
ivmnsInfos[iip].horde = mnsInfos[i].horde;
ivmnsInfos[iip].monsters.length((unsigned long)invalidMonsters.size());
for (unsigned int k = 0; k < invalidMonsters.size(); k++)
{
for (CORBA::ULong pos = 0; pos < mnsStatusSeq.length(); pos++)
{
if ((int)mnsStatusSeq[pos].monsterId == invalidMonsters[k])
{
ivmnsInfos[iip].monsters[k].monsterId = (unsignedint)invalidMonsters[k];
ivmnsInfos[iip].monsters[k].monsterName =
mnsStatusSeq[pos].monsterName;
ivmnsInfos[iip].monsters[k].reason =
NPC_STR2WSTR(WORLD::Message(getCvt(), "import_invalid_monster"));
break;
}
}
}
ivp++;
iip++;
}
}
else//部落群和怪物一致,且对应怪物类型一致
{
vmnsInfos[ivp].horde = mnsInfos[i].horde;
vmnsInfos[ivp].monsterInfos = mnsStatusSeq;
ivp++;
}
}
ivmnsInfos.length(iip);
vmnsInfos.length(ivp);
return bRet;
}

  示例代码段一:

  第一步:

  代码检视要做的首先就是评审代码的逻辑正确性,即代码是否完整、准确地实现了业务逻辑。

  这一步只需对代码进行抽象,将其“翻译”为“注释”就可阅读其实现逻辑,并与需求逻辑(设计逻辑)相比较。

62/6<123456>
重磅发布,2022软件测试行业现状调查报告~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号