Все три 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)