Все три case`a функционально одинаковы, во 2-м и 3-м варианте
методы SendData() и RecvData() объединены в один SendRecv().
Какой код обладает наибольшей читаемостью? Мое мнение:
1. много if/else
2. много точек выхода
3. оптимизация в ущерб читаемости
CmdStatus = CMD_EXEC;
switch(Command)
{
...
case CommandSetMotoHourLimit:
if(SendData() == RET_OK)
{
if(RecvData() == RET_OK)
{
if(Data.Command == CommandReceived)
CmdStatus = CMD_COMPLETE;
else
CmdStatus = CMD_ERROR;
}
else
CmdStatus = CMD_ERROR;
}
else
CmdStatus = CMD_ERROR;
break;
case 1000:
if(SendRecv() != RET_OK)
{
CmdStatus = CMD_ERROR;
break;
}
if(Data.Command != CommandReceived)
{
CmdStatus = CMD_ERROR;
break;
}
CmdStatus = CMD_COMPLETE;
break;
case 1001:
if(SendRecv() == RET_OK && Data.Command == CommandReceived)
CmdStatus = CMD_COMPLETE;
else
CmdStatus = CMD_ERROR;
break;
}



Ответ на:
комментарий
от bugmaker
Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от Sectoid
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [c++] Оптимизация кода работы с байтами (2011)
- Форум С, SDL, FPS (2014)
- Форум Си: Стэк (2013)
- Форум Текстовый редактор на C с curses, menu, form (2016)
- Форум oracle analytic function (2015)
- Форум SMTP клиент - разрывы в тексте письма. (2013)
- Новости Hugin 2018.0.0 (2018)
- Форум recvmsg vs netlink (2013)
- Форум Проблема с QTreeView (2024)
- Форум разбираюсь с классами непонятные ошибки при компиляции объясните в чем я неправ??? (2010)