nanorobot 6 29 декабря, 2023 Опубликовано 29 декабря, 2023 · Жалоба Выделено из https://electronix.ru/forum/topic/176134-artery-usart-perestali-rabotat/page/3/ В 29.12.2023 в 14:34, mantech сказал: Никогда не понимал такого "уплотнения", всегда переправляю, чтобы скобки были видны лучше... Если уж хотите плотности, пишите if(*pbuffer1 != *pbuffer2) {return 0;} А я соглашусь с предыдущим оратором... Че на них смотреть, на скобки? Важно видеть структуру, а скобки неизбежное зло, издержки синтаксиса. Вот питон на этот счет образец, никаких скобок, блоки кода разделяются indentation. А если пять-шесть вложений? В конце шесть скобок, каждая на новой строке.. Какую смысловую нагрузку они несут? Приведеный пример я бы оформил так: if(*pbuffer1 != *pbuffer2){ return 0;} заранее согласен, что тема выеденного яйца не стОит, но все же... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 29 декабря, 2023 Опубликовано 29 декабря, 2023 · Жалоба Это дурная привычка. А представьте себе, что где нибудь в другом месте, с другим устройством сделать так же. Они друг друга заблокируют. Нужно использовать прерывания, DMA Эт вы не мне, ТСу расскажите, "While" - его (((-8Ж Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 43 30 декабря, 2023 Опубликовано 30 декабря, 2023 · Жалоба 10 hours ago, nanorobot said: Какую смысловую нагрузку они несут? В С++ скобки обозначают область видимости переменных. 10 hours ago, nanorobot said: Приведеный пример я бы оформил так: if(*pbuffer1 != *pbuffer2){ return 0;} А вы, вообще, читали что-нибудь по основам книгопечатания? Печатники ведь уже несколько сот лет назад выявили закономерности в расположении символов, которые позволяют человеку быстро и с минимальным напряжением читать и понимать прочитанное. Пример форматирования выше является примером того, как делать не_надо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 58 30 декабря, 2023 Опубликовано 30 декабря, 2023 · Жалоба 11 hours ago, nanorobot said: if(*pbuffer1 != *pbuffer2){ return 0;} А что мелочиться ? Сразу так. if(*pbuffer1!=*pbuffer2)return 0; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 49 30 декабря, 2023 Опубликовано 30 декабря, 2023 · Жалоба 1 час назад, x893 сказал: А что мелочиться ? Сразу так. Ну эт ясно дело, что если один ретурн, без скобок, а если там вместо него макрос какой-нить, напишешь без скобок и попал по полной))))))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 236 30 декабря, 2023 Опубликовано 30 декабря, 2023 · Жалоба 3 минуты назад, mantech сказал: Ну эт ясно дело, что если один ретурн, без скобок, а если там вместо него макрос какой-нить, напишешь без скобок и попал по полной))))))) Видимо макросы надо писать грамотно. Не умеете - учитесь. PS: Опять скобочная война.... какая уже по счёту? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 58 30 декабря, 2023 Опубликовано 30 декабря, 2023 · Жалоба 1 hour ago, mantech said: Ну эт ясно дело от прокладки зависит Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 30 декабря, 2023 Опубликовано 30 декабря, 2023 · Жалоба Макросы зло, их вообще писать не надо. Форматирование чужого кода (библиотек) зло, нечего в него вообще лезть. Как автор написал так и компилировать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nanorobot 6 30 декабря, 2023 Опубликовано 30 декабря, 2023 · Жалоба 4 hours ago, tonyk_av said: В С++ скобки обозначают область видимости переменных. А вы, вообще, читали что-нибудь по основам книгопечатания? Печатники ведь уже несколько сот лет назад выявили закономерности в расположении символов, которые позволяют человеку быстро и с минимальным напряжением читать и понимать прочитанное. Пример форматирования выше является примером того, как делать не_надо. про область видимости я в курсе. я имею в виду размазывание группы скобок на несколько строк, которое, на мой взгляд, отнюдь не способствует пониманию, а только отвлекает внимание, и крадет полезную площадь экрана. Для улучшения восприятия структуры достаточно отступов, а скобки лишь дань синтаксису языка с. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fpga_student 0 30 декабря, 2023 Опубликовано 30 декабря, 2023 · Жалоба On 12/30/2023 at 12:52 AM, Obam said: Эт вы не мне, ТСу расскажите, "While" - его (((-8Ж Не это не ко мне, а к Artery. "While" - это из их Firmware_Library) Но такто Artery не единственные, кто грешит "While". Ими вообще ВСЕ грешат, начиная с Ритчи) On 12/30/2023 at 2:17 PM, nanorobot said: про область видимости я в курсе. я имею в виду размазывание группы скобок на несколько строк, которое, на мой взгляд, отнюдь не способствует пониманию, а только отвлекает внимание, и крадет полезную площадь экрана. Для улучшения восприятия структуры достаточно отступов, а скобки лишь дань синтаксису языка с. Абсолютно согласен. Такое ощущение что некоторые граждане пытаются нагнать обьем кода в страницах, забивая все пробелами, скобками, переносами и любой возможной не относящейся к делу хренью Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fpga_student 0 30 декабря, 2023 Опубликовано 30 декабря, 2023 · Жалоба On 12/30/2023 at 2:15 PM, VladislavS said: Форматирование чужого кода (библиотек) зло, нечего в него вообще лезть. Как автор написал так и компилировать. Поставил Advanced Find and Replace, видно из анализа больших исходников действительно могут возникнуть при правке проблемы. Но для того чтобы они случились код должен быть написан весьма криво. Например вот такой кусок сломается: //if () { ..... } Уже видел в одном месте, странную конструкцию, где были открывающие и закрывающие скобки, а самого оператора (if или while или do) не было вообще. Радость только в том что в такой ситуации код сломается с ошибкой. Регулярка уже такая \)\s*\r\n\s*{\s*\r\n на ){\n Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 62 30 декабря, 2023 Опубликовано 30 декабря, 2023 · Жалоба On 12/30/2023 at 5:41 PM, fpga_student said: странную конструкцию Это не странная конструкция, а вполне нормальная. Например, для ограничения области видимости переменной. Или в случае объявления переменной внутри case, без этих скобочек вообще не обойтись. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 58 30 декабря, 2023 Опубликовано 30 декабря, 2023 (изменено) · Жалоба 13 hours ago, fpga_student said: Радость только в том что в такой ситуации код сломается с ошибкой. Регулярка уже такая \)\s*\r\n\s*{\s*\r\n на ){\n Это спорное утверждение. Опять же от остального кода зависит. Стандартом языка не запрещено. Изменено 31 декабря, 2023 пользователем haker_fox Нецензурная лексика. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fpga_student 0 30 декабря, 2023 Опубликовано 30 декабря, 2023 (изменено) · Жалоба 11 hours ago, dimka76 said: Это не странная конструкция, а вполне нормальная. Например, для ограничения области видимости переменной. несильно понятно где может возникнуть такая потребность. Тем более что код в основном плюсовой, те капсуляция в обьектах должна быть. 11 hours ago, dimka76 said: Или в случае объявления переменной внутри case, без этих скобочек вообще не обойтись. Это другое с case проблем не будет. 11 hours ago, x893 said: Стандартом языка не запрещено. От обезьяны с гранатой нет спасенья, в коде идиота можно и без rename-ов подорваться. Вот кстати опять наткнулся. Интересно бы понять в чем здесь сакральный смысл скобок. Файл system_at32f403a_407.c case CRM_SCLK_PLL: pll_clock_source = CRM->cfg_bit.pllrcs; { /* get multiplication factor */ pll_mult = CRM->cfg_bit.pllmult_l; pll_mult_h = CRM->cfg_bit.pllmult_h; /* process high bits */ if((pll_mult_h != 0U) || (pll_mult == 15U)){ pll_mult += ((16U * pll_mult_h) + 1U); } else{ pll_mult += 2U; } if (pll_clock_source == 0x00){ /* hick divided by 2 selected as pll clock entry */ system_core_clock = (HICK_VALUE >> 1) * pll_mult; } else{ /* hext selected as pll clock entry */ if (CRM->cfg_bit.pllhextdiv != RESET){ hext_prediv = CRM->misc3_bit.hextdiv; /* hext clock divided by 2 */ system_core_clock = (HEXT_VALUE / (hext_prediv + 2)) * pll_mult; } else{ system_core_clock = HEXT_VALUE * pll_mult; } } } break; Изменено 31 декабря, 2023 пользователем haker_fox Код оформляется в тегах! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 236 30 декабря, 2023 Опубликовано 30 декабря, 2023 · Жалоба 1 час назад, dimka76 сказал: Или в случае объявления переменной внутри case, без этих скобочек вообще не обойтись. Странно... Я почему-то обхожусь. ЧЯДНТ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться