[1] elegant writing code - while substitute if

AutoMutex _l(gDefaultServiceManagerLock);
if(NULL == gDefaultServiceManager ){ // 1,判断语句,常亮放在左侧,避免误写为赋值语句,可以报警
    gDefaultServiceManager = interface_cast<IServiceManager>(
                ProcessState::self()->getContextObject(NULL));
}

Alternatively if the effect while

AutoMutex _l(gDefaultServiceManagerLock);
while(NULL == gDefaultServiceManager ){ // 2,使用while,获取失败后,再尝试获取
    gDefaultServiceManager = interface_cast<IServiceManager>(
                ProcessState::self()->getContextObject(NULL));

    if(NULL == gDefaultServiceManager){ // 3,不要省略括号,虽然只有一条语句。
        sleep(1);
    }
}

 

Published 112 original articles · won praise 3 · Views 9730

Guess you like

Origin blog.csdn.net/yush34/article/details/103314193