我有一个问题。我需要重构部分代码以降低复杂性。我有多个类似的“if”构造,它们在每次随机实用程序 API 调用后重复,基于这些构造,我需要回滚已完成的事务或继续。我只是想知道替换“if”结构是否会帮助我降低复杂性。我知道宏在代码中扩展,这就是为什么我不确定这种方法是否对我有帮助。我在重构代码方面相当陌生。如果对重构有想法和知识的人可以给我一些建议,那将非常有帮助。这就像替换下面的代码
retCode = certman_set_cmp_server_psk_refnum(ctx,(char*)domain.c_str(),NULL,NULL,0);
if (retCode != 0)
{
if(startedTxn == true)
{
status = ldapInterface.rollback_transaction();
if(0 != status)
{
clifwk_trace(session, "Rollback failed in internal transaction", CLIFWK_DEBUG);
syslog(LOG_ERR, "Rollback failed in internal transaction");
return CERTMAN_COMMIT_TRANSACTION_FAILED;
}
DEL_IF_NOT_NULL (ctx);
}
return retCode;
}
和retCode = certman_set_cmp_server_ip_port(ctx,(char*)domain.c_str(),NULL,0);
CHECK_ROLLBACK_TRANSACTION(session,ctx,ldapInterface,retCode,startedTxn);
RETURN_IF_ERROR(retCode);
这种方法对我有用以降低复杂性吗?