Красота кода
От: iix  
Дата: 31.01.06 18:33
Оценка:
Всем привет.
Вот сижу и программирую клиента для одного IM и в одной функции получился извращенный до нельзя код. Хотелось бы чтобы вы предложиле более красивую реализацию данного кода:

    unsigned int thrdaddr;
    HANDLE mthrd[2];

    if(connected && !logining)
    {
        if(sendmtx=CreateMutex(NULL,false,NULL))
        {
            if(recvmtx=CreateMutex(NULL,false,NULL))
            {
                if(pingthrd=(HANDLE)_beginthreadex(NULL,0,(PTHREAD)PingThread,this,0,&thrdaddr))
                {
                    if(recvthrd=(HANDLE)_beginthreadex(NULL,0,(PTHREAD)RecvThread,this,0,&thrdaddr))
                    {
                        DbgPrint("Login2: succesfull...");
                        logining=true;
                        return true;
                    }
                    else
                        DbgPrint("Login2: hello error...");
                }
                else
                    pingthrd=(HANDLE)_beginthreadex(NULL,0,(PTHREAD)PingThread,this,0,&thrdaddr);

            }
            else
                DbgPrint("Login2: recv CreateMutex error...");
        }
        else
            DbgPrint("Login2: send CreateMutex error...");
    }

    TerminateThread(pingthrd,0);
    TerminateThread(recvthrd,0);
    mthrd[0]=pingthrd;
    mthrd[1]=recvthrd;
    WaitForMultipleObjects(2,mthrd,true,INFINITE);
    CloseHandle(pingthrd);
    CloseHandle(recvthrd);

    CloseHandle(sendmtx);
    CloseHandle(recvmtx);

    return false;



01.02.06 18:13: Перенесено из 'Философия программирования'
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.