|
CPP enum с минусовыми значениями, насколько это правильно |
|
|
|
May 25 2017, 06:25
|
Профессионал
    
Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848

|
Вопрос касается кода возврата функции, а именно удачно или нет она отработала. Если плюс - удачно, информация в коде возврата - справочная. Если минус - критичная ошибка, ф-ия не отработала. (?) Насколько такой подход (с отрицательным enum) правильный-феншуйный-политкорректный ? ps - minus_4 итд приведено для наглядности, в реале - ест-но - там симв. имя ошибки вроде eErr_ADC_Ready А реализовал так: Код enum TEnum { minus_4 = -4, minus_3, minus_2, minus_1, null_0 = 0, plus_1, plus_2, plus_3, plus_4 } my_enum;
. . .
int MyFun(void) { ... ... ... return(minus_2); ..... .... return(plus_3); }
. . .
RetCode = MyFun();
if( RetCode > 0 ) { . . . . ошибок нет, в RetCode в инф. о статусе выполнения. } else // минусы и 0 { . . . . разбор ошибок }
Сообщение отредактировал k155la3 - May 25 2017, 07:20
|
|
|
|
|
 |
Ответов
|
May 27 2017, 05:21
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
QUOTE (sigmaN @ May 26 2017, 22:45)  да это всё дело вкуса на самом деле... Это как раз не принципиально. Скорее не вкуса, а стиля. Заглавными символами принято описывать неизменяемые сущности типа констант, литералов. CODE #define SLON 1 const uint32_t MAMONT = 10; enum TSlon { KOT = 20, BEGEMOT };
...
TSlon Slon = KOT;
uint32_t x = Slon == BEGEMOT ? MAMONT : SLON; Сразу видно, где переменные, а где константы/литералы. Устоявшийся стиль. Стараюсь придерживаться его.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
May 29 2017, 07:42
|
Местный
  
Группа: Участник
Сообщений: 319
Регистрация: 27-09-07
Пользователь №: 30 877

|
Цитата(dxp @ May 27 2017, 09:21)  Скорее не вкуса, а стиля. Заглавными символами принято описывать неизменяемые сущности типа констант, литералов.
Сразу видно, где переменные, а где константы/литералы. Устоявшийся стиль. Стараюсь придерживаться его. На моем опыте старались отличать макрос от немакроса. а вот как раз константы вполне подходит описывать как и обычные переменные, потому что на одном этапе разработки они переменные, на другом уже константы.
|
|
|
|
Сообщений в этой теме
k155la3 CPP enum с минусовыми значениями May 25 2017, 06:25 novikovfb Почему бы и нет. Одно не понятно: чем запись minu... May 25 2017, 06:32 k155la3 Цитата(novikovfb @ May 25 2017, 09:32) По... May 25 2017, 06:35 _pv Цитатаinteger constant expression whose value is r... May 25 2017, 07:22 k155la3 "integer constant expression whose value is r... May 25 2017, 07:32  AlexRayne Цитата(k155la3 @ May 25 2017, 11:32) Инте... May 25 2017, 09:46   k155la3 Цитата(AlexRayne @ May 25 2017, 12:46) . ... May 25 2017, 10:35    AlexRayne Цитата(k155la3 @ May 25 2017, 14:35) (1) ... May 25 2017, 12:27   Сергей Борщ QUOTE (AlexRayne @ May 25 2017, 12:46) Ме... May 25 2017, 12:47    k155la3 Цитата(Сергей Борщ @ May 25 2017, 15:47) ... May 26 2017, 07:25 AnatolyT Постоянно применяю, только не enum, а int. Обычная... May 25 2017, 08:00 k155la3 Цитата(AnatolyT @ May 25 2017, 11:00) . .... May 25 2017, 08:47 x893 По смыслу - enum это набор неизменяемых именованны... May 25 2017, 16:36 jcxz Список ошибок часто определяю так:
enum {ERR_1 = 1... May 25 2017, 20:47 AnatolyT Непонятно какие преимущества дает использование en... May 26 2017, 09:11 novikovfb Цитата(AnatolyT @ May 26 2017, 13:11) Неп... May 26 2017, 09:46  Сергей Борщ QUOTE (novikovfb @ May 26 2017, 12:46) пр... May 26 2017, 09:54 k155la3 Цитата(AnatolyT @ May 26 2017, 12:11) Неп... May 26 2017, 10:01  jcxz Цитата(k155la3 @ May 26 2017, 12:01) Кром... May 28 2017, 10:26 sigmaN По-моему идеально использовать enum по возможности... May 26 2017, 10:10 AlexRayne Цитата(sigmaN @ May 26 2017, 13:10) Кодty... May 26 2017, 13:33  k155la3 Цитата(AlexRayne @ May 26 2017, 16:33) si... May 26 2017, 14:38 AnatolyT Может быть чтобы не было соблазна добавить в начал... May 26 2017, 10:25 sigmaN ЦитатаМожет быть чтобы не было соблазна добавить в... May 26 2017, 10:58 sigmaN Кстати вы заметили, как в С++11 поправили enum? Я ... May 28 2017, 09:13 dxp QUOTE (sigmaN @ May 28 2017, 16:13) Кстат... May 28 2017, 13:02 sigmaN ЦитатаThe enum type
The compiler will use the smal... May 28 2017, 11:17 jcxz Цитата(sigmaN @ May 28 2017, 13:17) The c... May 29 2017, 08:35 sigmaN ЦитатаТолько enum class - это, я понял, как раз со... May 28 2017, 13:50 sigmaN Ну тогда надо конкретизировать на примерах.
Я так... May 29 2017, 08:55 jcxz Цитата(sigmaN @ May 29 2017, 10:55) Я так... May 29 2017, 09:34 sigmaN Вот и я гворю: уточнять надо. Кто куда и кого расш... May 29 2017, 10:10
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|