|
Коды завершения функции |
|
|
|
 |
Ответов
|
May 2 2018, 04:13
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
QUOTE (juvf @ Apr 29 2018, 02:19)  не получиться универсального енума, глупости это. ИМХО. Тем более 8 или всего 4 значения. У каждой функции своя задача и свои возвращаемые значения. мой черновик функции включения вращения антенны Как вы передаёте код ошибки при вложенном вызове функций? Т.е. снизу на верх? QUOTE (juvf @ Apr 29 2018, 02:19)  Слышали такое слово "говнокод"? Ну конечно слышал, как и множество других мерзких слов. Тут вопрос в другом, позволить себе использовать это по отношению к другим, или нет? QUOTE (juvf @ Apr 29 2018, 02:19)  Чужой код - всегда гавно. Каким бы он ни был. Я понял, что вы имеете в виду  Мне такие намёки тоже делали. Не прямыми словами. Когда я парировал, что это мой собственный стиль написания кода, человек, оскорбивший моё творчество, сватил жёсткий "батхёрт", и начал меня учить, что стили в коде это совершенно другое. В общем его задача была обругать, а не понять. И ему мои объяснения (хотя он мне и не начальник) были совершенно не нужны. К слову, его код постоянно подвергается справедливой (на мой взгляд) критике. Не ругане, а критике. Поэтому делаю вывод (не только по этому случаю), тот кто умеет делать дело, других ругать не станет. Максимум - аккуратно посоветует, как можно по-другому. Ну, а возомнивший себя профессионалом, будет изрыгать огонь налево и направо, при этом тащась от творений себе подобных
--------------------
Выбор.
|
|
|
|
|
May 4 2018, 07:17
|

Профессионал
    
Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045

|
Цитата(haker_fox @ May 3 2018, 05:27)  Понятно! У вас тоже общий энум всё-таки не исключён  Да, не исключен. Но он не универсальный для всех случаев жизни. для двигателя я привел енум. Там не будет DEVICE_NOT_FOUND или ERROR_OPEN_FILE. Цитата Это многое объясняет  Я же говорил, что чужой код всегда гэ. "говнокод" - это не ругательство, а синоним слова "чужой код" (хотя может "чужой код" - это и есть ругательство ))) . У AlexandrY код то ещё ни кто не глянул, но зато уже пошла критика, и только за то, что там глобальные переменные. А может его код с глобальными переменными гораздо понятнее и безопаснее, чем ваши ООП-эшные извраты. то, что там кто-то не может разгрести чьи-то спагетти с глобальными, так это проблема не глобальных переменных, а проблема автора и/или читателя кода. Автор мог написать вам код без глобальных переменных так, что вы бы вообще не разобрались. Цитата Ну, а как пользователь за компом узнает, что произошла ошибка на нижнем уровне? И неисправимая ошибка. если всё крутиться на ПК, то я на нижнем уровне генерирую сигнал с текстовым сообщением для юзера, а ГУИ поток этот сигнал обрабатывает слотом с выводом MessageBox и логированием. Цитата А как бы вы поступили, к примеру в следующем случае: пользователь жмёт кнопку запуска двигателя, а у двигателя отказал датчик (любой). Запуск без датчика невозможет в принципе, либо возможен, но в ограниченном режиме. Как передать эту "мелкую" ошибку от платы датчика к плате управления двигателем, а затем - наверх скаде? между платой датчика и платой управления двигателя свой протокол обмена. в этом протоколе определены свои коды ошибок. плата управления двигателем обрабатывает эту ошибку. например у меня два датчика. датчик передает код ошибки "превышение вращения". Плата управления обрабатывает эту ошибку по своему алгоритму и делает соответствующие действия, в скаду передается (по совершенно другому протоколу) "превышение вращения с датчика 2". Или вообще может передаться интегральное состояние всего привода. Т.е. тут уже свой набор ошибок.
|
|
|
|
|
May 4 2018, 08:47
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(juvf @ May 4 2018, 10:17)  У AlexandrY код то ещё ни кто не глянул, но зато уже пошла критика, и только за то, что там глобальные переменные. Ну, код как код, такого в интернетах вагон и маленькая тележка. Гитхаб завален подобным кодом. Но как известно "дареному коню зубы не смотрят"  А действительно серьезный код с хорошей достойной документацией, сопровождением и внятным содержимым стоит соотв. денег. Либо как щас принято - часть бесплатно (чаще всего ядро ОСи), но все остальное - за денежку. Цитата чем ваши ООП-эшные извраты. Выдаете себя: ругаете то, чего, похоже, не понимаете  Цитата Автор мог написать вам код без глобальных переменных так, что вы бы вообще не разобрались. Прохожу мимо любого кода, при чтении которого "спотыкаюсь" на каждом символе. Наверняка, многим попадались книги, написанные аналогичным образом, но судьба их проста - идут на растопку дров. С подобным кодом - аналогично. А глобальные переменные - как лакмусовая бумажка, говорят о том, что в этом коде не все так просто - могут быть грабли в самом неожиданном месте. Безусловно, в примитивных проектах глобальные переменные навряд ли создадут какие-то серьезные проблемы. Кстати, в свое время мне по необходимости пришлось уйти от глобальных объектов (остались лишь максимум синглтоны или в некоторых проектах static объекты внутри соотв. "модуля"). Поэтому есть с чем сравнить. Скажу так - обратно не вернусь, ибо к хорошему привыкаешь быстро
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
May 4 2018, 09:54
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(juvf @ May 4 2018, 12:14)  а я ушел от синглтонов. Сам писал синглтоны, чужой код смотрел/сопровождал с синглтонами..... абсолютно ненужная сущность. Скажу так - обратно к синглтонам не вернусь, ибо к хорошему привыкаешь быстро  Согласен по синглтонам! Они по сути - некий "костыль" Но если выбирать между глобальной структурой или классом, лучше хотя бы временно использовать синглтон, просто, потом его очень просто перевести в обычный класс. В некоторых моих текущих проектах он остался лишь только в одном месте: Код class SomeApplication: public Application<.......>, public Singleton<BootLoader> { ... }
int main() { SomeApplication::getInstance().initialize(); SomeApplication::getInstance().run(); } Но в остальных уже заменен на такую конструкцию: Код class SomeApplication: public Application<.......> { ... }
int main() { static SomeApplication application;
application.initialize(); application.run(); } В принципе " static SomeApplication application" - единственный в проекте объект с квалификатором " static", а тут он еще и внутри main объявлен, что вообще напрочь закрывает к нему доступ из любого другого места даже в самом файле, где реализуется этот "main()". Поэтому считаю такое решение пока что вполне допустимым.
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
Сообщений в этой теме
ViKo Коды завершения функции Apr 24 2018, 05:26 twix ... Apr 24 2018, 05:37 arhiv6 Например, есть стандартные системные наборы кодов ... Apr 24 2018, 05:46 ViKo Хорошие коды. Но для встроенной программы избыточн... Apr 24 2018, 05:59 Arlleex Я обычно пишу модульно. То есть есть драйвер, допу... Apr 24 2018, 06:36 ViKo Меня немного смущает, что имя тип возвращаемого ко... Apr 24 2018, 07:01 ViKo Ну, вот такой набор прикинул, скомпилировал из раз... Apr 24 2018, 09:47 haker_fox QUOTE (ViKo @ Apr 24 2018, 17:47) Ну, вот... Apr 24 2018, 10:03  ViKo Цитата(haker_fox @ Apr 24 2018, 13:03) Вс... Apr 24 2018, 10:12  Kabdim Цитата(haker_fox @ Apr 24 2018, 13:03) Кс... Apr 24 2018, 10:54   haker_fox QUOTE (Kabdim @ Apr 24 2018, 18:54) Возвр... Apr 24 2018, 14:10 one_eight_seven ЦитатаНу, вот такой набор прикинул, скомпилировал ... Apr 24 2018, 10:19 ViKo Цитата(one_eight_seven @ Apr 24 2018, 13... Apr 24 2018, 10:25 one_eight_seven ЦитатаЯ всегда делаю для себя. Но так, чтобы други... Apr 24 2018, 10:30 ViKo Э, если бы работа в группе заключалась в использов... Apr 24 2018, 10:35 HardEgor Цитата(ViKo @ Apr 24 2018, 12:26) Иногда ... Apr 24 2018, 11:27 Kabdim У вас в чипе 4Гб памяти? Но в общем, если не паков... Apr 24 2018, 14:39 jcxz Цитата(Kabdim @ Apr 24 2018, 17:39) Наско... Apr 24 2018, 16:28  Kabdim Цитата(jcxz @ Apr 24 2018, 19:28) Это в к... Apr 25 2018, 07:37 k155la3 Цитата(ViKo @ Apr 24 2018, 08:26) Иногда ... Apr 24 2018, 14:59 ViKo Из функции можно возвратить структуру, в любом пра... Apr 24 2018, 18:39 jcxz Цитата(ViKo @ Apr 24 2018, 21:39) Из функ... Apr 24 2018, 18:44 AlexandrY Цитата(ViKo @ Apr 24 2018, 21:39) Из функ... Apr 25 2018, 05:57  ViKo Цитата(AlexandrY @ Apr 25 2018, 08:57) Ща... Apr 25 2018, 06:08   AlexandrY Цитата(ViKo @ Apr 25 2018, 09:08) Действи... Apr 25 2018, 06:12 ViKo А как насчет высказывания jcxz?
ЦитатаТолько я все... Apr 25 2018, 06:23 jcxz Цитата(ViKo @ Apr 25 2018, 09:23) Я думаю... Apr 25 2018, 07:05 ViKo Первая цитата не показывает, что размер структуры ... Apr 25 2018, 07:33 jcxz Цитата(ViKo @ Apr 25 2018, 10:33) Первая ... Apr 25 2018, 07:41  ViKo Цитата(jcxz @ Apr 25 2018, 10:41) Если не... Apr 25 2018, 08:25   jcxz И откуда сиё взято? В "IAR C/C++ Development ... Apr 25 2018, 08:38 haker_fox QUOTE (Kabdim @ Apr 24 2018, 22:39) У вас... Apr 25 2018, 07:38 Kabdim Цитата(haker_fox @ Apr 25 2018, 10:38) ОЗ... Apr 25 2018, 07:58 ViKo http://infocenter.arm.com/help/topic/com.a...0042F... Apr 25 2018, 08:42 jcxz Цитата(ViKo @ Apr 25 2018, 11:42) Я, прав... Apr 25 2018, 09:00 haker_fox QUOTE (jcxz @ Apr 25 2018, 15:41) Если кт... Apr 25 2018, 08:51 Kabdim Цитата(jcxz @ Apr 25 2018, 11:38) Не поня... Apr 25 2018, 08:55  haker_fox QUOTE (Kabdim @ Apr 25 2018, 16:55) Тольк... Apr 25 2018, 09:03   jcxz Цитата(haker_fox @ Apr 25 2018, 12:03) Я ... Apr 25 2018, 09:06    haker_fox QUOTE (jcxz @ Apr 25 2018, 17:06) ......в... Apr 25 2018, 09:44   Kabdim Цитата(haker_fox @ Apr 25 2018, 12:03) Я ... Apr 25 2018, 09:09   AlexandrY Цитата(haker_fox @ Apr 25 2018, 12:03) Я ... Apr 25 2018, 09:32 Сергей Борщ QUOTE (haker_fox @ Apr 25 2018, 10:51) Во... Apr 25 2018, 09:20 one_eight_seven ЦитатаДумаю, что если есть ограничение, компилятор... Apr 25 2018, 09:06 jcxz Цитата(one_eight_seven @ Apr 25 2018, 12... Apr 25 2018, 09:12 one_eight_seven ЦитатаВсё универсальное - неоптимально по определе... Apr 25 2018, 09:14 arhiv6 А кто-нибудь использует для обработки ошибок CExce... Apr 25 2018, 10:43 Forger Цитата(arhiv6 @ Apr 25 2018, 13:43) А кто... Apr 25 2018, 17:47  jcxz Цитата(Forger @ Apr 25 2018, 20:47) Это к... Apr 25 2018, 18:05   Forger Цитата(jcxz @ Apr 25 2018, 20:58) Ну да -... Apr 25 2018, 18:11    jcxz Цитата(Forger @ Apr 25 2018, 21:11) Я лич... Apr 25 2018, 18:23     Forger Цитата(jcxz @ Apr 25 2018, 21:23) Для ава... Apr 25 2018, 18:29   arhiv6 Цитата(jcxz @ Apr 26 2018, 01:05) Ну да -... Apr 26 2018, 02:21  jcxz Цитата(Forger @ Apr 25 2018, 20:47) Читае... Apr 25 2018, 18:14   Forger Цитата(jcxz @ Apr 25 2018, 21:14) Читаемо... Apr 25 2018, 18:21    AlexandrY Цитата(Forger @ Apr 25 2018, 21:21) В гол... Apr 25 2018, 18:32     Forger Цитата(AlexandrY @ Apr 25 2018, 21:32) Кс... Apr 25 2018, 18:57      AlexandrY Цитата(Forger @ Apr 25 2018, 21:38) Уточн... Apr 25 2018, 19:00       Forger Цитата(AlexandrY @ Apr 25 2018, 22:00) Ку... Apr 25 2018, 19:08        AlexandrY Цитата(Forger @ Apr 25 2018, 22:08) ... н... Apr 25 2018, 19:23         Forger Цитата(AlexandrY @ Apr 25 2018, 22:23) А ... Apr 25 2018, 19:30          AlexandrY Цитата(Forger @ Apr 25 2018, 22:30) Напри... Apr 25 2018, 19:51           Forger Цитата(AlexandrY @ Apr 25 2018, 22:51) Вы... Apr 25 2018, 20:13            AlexandrY Цитата(Forger @ Apr 25 2018, 23:13) Я исп... Apr 25 2018, 20:22            Forger Возвращаясь к теме:
http://softwaremaniacs.org/blo... Apr 25 2018, 20:37      jcxz Цитата(Forger @ Apr 25 2018, 21:57) Очеви... Apr 25 2018, 19:08       Forger Цитата(jcxz @ Apr 25 2018, 22:08) "Д... Apr 25 2018, 19:17    jcxz Цитата(Forger @ Apr 25 2018, 21:21) Вовсе... Apr 25 2018, 18:33 dimka76 В комплекте GCC в папке arm-none-eabi\include... Apr 25 2018, 18:11 haker_fox Коллеги, маленькое лирическое отступление) Прошу н... Apr 26 2018, 02:33 juvf не получиться универсального енума, глупости это. ... Apr 28 2018, 18:19 Forger Цитата(juvf @ Apr 28 2018, 21:19) Чужой к... Apr 28 2018, 21:50   AlexandrY Цитата(haker_fox @ May 3 2018, 03:27) Пон... May 3 2018, 05:52    Forger Цитата(AlexandrY @ May 3 2018, 08:52) ...... May 3 2018, 08:50     AlexandrY Цитата(Forger @ May 3 2018, 11:50) Поэтом... May 3 2018, 10:04      Forger Цитата(AlexandrY @ May 3 2018, 13:04) Стр... May 3 2018, 10:49       AlexandrY Цитата(Forger @ May 3 2018, 13:49) это но... May 3 2018, 13:37        Forger Цитата(AlexandrY @ May 3 2018, 16:37) На ... May 3 2018, 15:23 ViKo Я постарался дать обобщенные имена ошибкам. А как ... May 2 2018, 06:45 ViKo Кстати, в данное время я решил выдавать результаты... May 3 2018, 03:02 ViKo Можно даже скомбинировать тип устройства и тип оши... May 3 2018, 05:28 Arlleex ЦитатаЯ скажем везде где можно использую глобальны... May 3 2018, 14:45 AlexandrY Цитата(Arlleex @ May 3 2018, 17:45) С рос... May 3 2018, 17:46 Arlleex ЦитатаЭто у вас весьма маленькое приложение.
А я и... May 3 2018, 19:22 haker_fox QUOTE (Arlleex @ May 4 2018, 03:22) А бло... May 4 2018, 01:22 AlexandrY Цитата(Arlleex @ May 3 2018, 22:22) Истор... May 4 2018, 07:55 AnatolyT Пишу для м\к на чистом С, для приложений на п... May 4 2018, 06:04 ViKo Я - о своем. Все уже придумано до нас.
https://ru.... May 4 2018, 08:57
2 страниц
1 2 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|