Тестирование пинов МК на вшивость

При экспериментах я регулярно корочу ножки МК на всякую гадость :( Примерно как на картинке «Гиря! Конфликт уровней! Все сломалось!». Соответсвенно, после этого надо выяснять, опять моя схема не работает как надо или дрыгающая ею ножка уже тютю. Накатал простенькую программку.


program pt;

{ Declarations section }
const
  ModeIn=0;
  ModeInPU=1;
  ModeOut0=2;
  ModeOut1=3;
  ModesDDR: array[0..3] of Byte = (0, 0, $FF, $FF);
  ModesPort: array[0..3] of Byte = (0, $FF, 0, $FF);

var
  Mode: Byte;
  BtnFlag: bit;

begin
  Mode:=ModeIn;
  BtnFlag:=0;
  DDRD:=$30;
  PORTC.5:=1;
  while true do
  begin
    if (PINC.5=0) and (BtnFlag=0) then
    begin
      Delay_ms(100);
      if PINC.5=0 then
      begin
        BtnFlag:=1;
        Mode:=(Mode+1) and $3;
        DDRA:=ModesDDR[Mode];
        PORTA:=ModesPort[Mode];
        DDRB:=ModesDDR[Mode];
        PORTB:=ModesPort[Mode];
        DDRC:=ModesDDR[Mode] and $DF;
        PORTC:=ModesPort[Mode] or $20;
        DDRD:=ModesDDR[Mode] or $30;
        PORTD:=ModesPort[Mode];
        PORTD4_bit:=Mode.0;
        PORTD5_bit:=Mode.1;
      end;
    end;
    if PINC.5=1 then BtnFlag:=0;
  end;
end.

Компилируется в mikroPascal, выставить параметры проекта ATMEGA16/16A, 8 MHz. Рассчитано на PinBoard — используются кнопка A и светодиоды на D4 и D5. Сорт оф быдлокод, конечно, накатанный небрежно и на скорую руку. Но при такой сложности — допустимо.

По каждому тыку на кнопку A (коннектится джампером, JTAG в фузах нужно вырубить) меняет состояние состояние пина. LED1 показывает значение битов регистров PORTx, LED2 — DDRx.
Для проверки пинов нужен щуп. Делается из трехголового соединительного проводка. Один конец цепляем на пин произвольного логического уровня и переключаем его в положение 1. Второй — на любой из светодиодов линейки. Он слабенько засветится. Третьим прощупываем пины.
Правильная реакция:
LED1=0, LED2=0: Hi-Z вход, СИД не реагирует на касание щупом.
LED1=1, LED2=0: Pull-Up вход, СИД должен засветиться чуть ярче.
LED1=0, LED2=1: Выход, лог. 0, СИД тухнет.
LED1=1, LED2=1: Выход, лог. 1, СИД загорается на полную яркость.

Один МК я уже попалил :( Выводы PB0 и PB1 стали слабенько тянуть вниз в любом режиме, т.е. годны тока на выход. Пересадил его в JTAG, вроде робит.

02.05.2016:
Вариант для ардуино. Режим переключается RESET'ом, индицируется встроенным светодиодом (1-4 вспышки) и выводится в UART. Использует EEPROM.
#include <EEPROM.h>

#ifdef NO_EEPROM
//Needs to be in area not overridden by bootloader
volatile uint8_t Mode __attribute__((section(".noinit")));
#else
uint8_t Mode;
#endif
const char* const Names[] = {"HiZ", "PullUp", "Low", "High"};
const uint8_t Modes[] = {INPUT, INPUT, OUTPUT, OUTPUT};
const uint8_t Values[] = {LOW, HIGH, LOW, HIGH};

void setup() {
  Serial.begin(9600);
  pinMode(LED_BUILTIN, OUTPUT);
#ifdef NO_EEPROM  
  Mode++;
#else
  Mode = EEPROM[0] + 1;
#endif
  if(Mode > 3)
    Mode = 0;
#ifndef NO_EEPROM
  EEPROM[0] = Mode;
#endif
  delay(1000);
  Serial.print("Mode: ");
  Serial.println(Names[Mode]);
  Serial.end();
  for(uint8_t i = 0; i <= Mode; i++) {
    digitalWrite(LED_BUILTIN, HIGH);
    delay(200);
    digitalWrite(LED_BUILTIN, LOW);
    delay(200);
  }
  for(uint8_t i = 0; i < NUM_DIGITAL_PINS; i++) {
    if(i == LED_BUILTIN) continue;
    pinMode(i, Modes[Mode]);
    digitalWrite(i, Values[Mode]);
  }  
}

void loop() {
 
}
  • +2
  • 22 марта 2011, 02:40
  • Vga

Комментарии (117)

RSS свернуть / развернуть
У меня ножки дохли редко, а вот резисторы пулапа вылетали только так. Какие то жидкие они. С недавних пор всегда исопльзую внешнюю подтяжку в коммерческих девайсах.
0
Ну СИД тухнет в режимах с DDRx=0. А значит — пин МК перетягивает 10к подтяжку на пинах логуровня. При DDRx=1 тянет нормально (вроде бы) в обе стороны.
0
Как ты умудряешься, ножки гробить? Я за весь свой период с микроконтроллерами ни одной не грохнул.
0
Тыкал пинцетом при отладке железной части, в итоге случайно коротнул +12 и пин МК. Это же девборд, а не окончательное изделие.
0
Не надо стесняться своего кода. Забудьте слово «быдлокод». Оно для тех, кто сам ничего не умеет, зато горазд «опускать» других.
0
Присоединяюсь.
0
Ну, во первых, у слова несколько иное значение на мой взгляд. Во вторых, этот код я писал слишком небрежно, чтобы назвать его иначе) Хотя благодаря размеру он довольно чистенький, да.
0
золотые слова
0
+100500 как где то подсмотрел. оченб бесит меня эта фраза. код бывает чистый и тот который можно править. Код, это творчество, это продукт разума. Быдло ассоциируется совсем с другими понятиями и в реальной жизни.
Такие слова как былокод, быловузы, как бы принижают нас же самих же. ставят на ступень с теми кого действительно называют быдлом, а я с этим категорически не согласен, даже в мыслях и даже виртуально.
0
Непортируемый, щедро усыпанный магическими числами код. Будь он хотя бы раз в 10 длиннее — уже превратился бы в кашу. Его проще переписать с нуля, чем перенести светодиод на другую ножку.

И да, это мой код и я лучше знаю, какого он качества.
0
качество бывает хорошее и плохое ) но никак не быдло)))
0
На этот счет у меня свое мнение.
0
Бывает-бывает, но наглядно видно это в проектах большого размера в данном стиле программирования =) Хотя по ряду признаков можно судить по коду любого размера)
+1
Черт, я на 2560 меге спалил ножку (в Ардуино да)… Так обидно было, а все почему? Потому что друг (нет, друг не причем, виноват я конечно) пришел и поросил ему показать, как это вообще с МК, что с ними делать можно и т.п., короче, хотел шоу :) Ну я во время «шоу» нечаянно и коротнул, причем и не заметил сразу, только потом уже (спустя час ковыряний) до меня доперло, что я ногу вынес, а не код пишу кривой. И ногу-то прикольную — с ШИМ и прерыванием.
Знаю, на 2560 их еще дофига, но все равно обидно почему-то… Ведь проверь при подключении — нога бы осталась живая…
Короче, обращаюсь ко всем: проверяйте все по 10 раз, особенно на дорогих камнях ;)
0
Я тиньку 13 так один раз случайно включил- разьем программатора сунул не той стороной (своя распиновка, 6 пинов в ряд), в результате с минутку она была на перепутанной полярности и прижатым к земле выходом (отладочного светодиода, как оказалось, а он попал на пин сброса, на нем в программаторе висит ещё джампер и кнопка, чтоб прижимать и держать можно было, вот он и держал). Как сообразил, чего не шьется- вынул, поставил правильно- не работает, программатором не определяется… всё, думал, похоронил. Минут через 10 допилил код, дай, думаю, попробую ткнуть последний раз- со второго тычка по «read signature» отозвалась, но прошиться позволила только ещё минут через 5. Эх, мал золотник, да дорог.
0
  • avatar
  • hexFF
  • 06 декабря 2011, 16:10
Что я вижу — главный цензор Си-кода сообщества и гонитель ардуинщиков — сам пишет для MCU на паскале(???!!!), какое ханжество! И это не олдфаг, Папа Римский — сам еретик? Распять паскалюгу на четырех символах веры({ } ++ --)!
-2
Не только пишет на Паскале, но и ненавидит С. Что, впрочем, не мешает мне знать С лучше многих сишников.
0
но и ненавидит С
Опаскаливание мозга произошло — ты стал жертвой Win и Delphi. Даже инстинктивно — надо накидать простенькую прогр. для MCU, а ты следуя бессознательному рефлексу подорвался к Microelektronika Pascal, а не к GCC или wiring.
-2
ты следуя бессознательному рефлексу подорвался к Microelektronika Pascal
Почему бессознательному? Вполне сознательно. Жаль только, что mP меня разочаровал.
0
Смысл? Какой смысл СЕЙЧАС писать для MCU на паскале? Кроме фраз типа: на чем хочу — на том и пишу.

Некоторые еще в эпоху Delphi(полумертвой и не перспективной ныне) поисписались на паскале до окостенения мозга под его менталитет и интерьер — не могут расписаться на Си до привычной комфортной скорости, т.е. испытывают дискомфорт от него, или просто не знают его(по тем же причинам).
-1
Смысл тот же, что и во времена изобретения паскаля.
Какой бы «полумёртвый» дельфи не был, но на нем по прежнему разрабатывают проекты (не только поддержка).
«Окастенелость мозга» очень хорошо способствует изучению бд (сейчас я не про простоту работы с бд из дельфи).
+1
Мне нравится язык, какой же еще?
Кроме того, я немало изучал различия языков и не считаю, что у С есть какие-то преимущества кроме того, что его компиляторы охватывают более широкий диапазон платформ и лучше развиты, плюс база кода богаче (мейнстрим же).
Впрочем, конкретно mP — говно, так что кроме как для говнонабросков вроде сабжа топика я его уже не использую.
0
BTW, когда это я что-то против Arduino имел? Кажется, ты меня с кем-то спутал.
0
Ну ты все равно смотрел на них не так — свысока и с высокомерием, «гопота»(да и другие) такое не любят :D

P.S. Каково кстати твое досье — ты «член НСДАП» с какого года? Я с 8-го класса — цветомузыка на КУ202Н.
-2
Ну ты все равно смотрел на них не так — свысока и с высокомерием
Ты меня опять с кем-то путаешь.
P.S. Каково кстати твое досье — ты «член НСДАП» с какого года? Я с 8-го класса — цветомузыка на КУ202Н.
Если под этой фразой подразумевается «когда занялся электроникой?» — в районе лет 12-13, ЕМНИП.
0
В общем-то, нет разницы на чём писать, если компилятор без каких-либо косяков и проблем.

Единственное, что ограничивается база готового кода, но это решается сообществом за энное время. Да и далеко не во все проекты нужны гигантские библиотеки типа usb, usb host, оптимизированного dsp и типа того) А, может, даже на Паскале они есть, я не знаю.
+2
Ну и самое главное — я цензор не С-кода, а любого кода вообще (на тех языках, которые понимаю, разумеется). Так что язык роли не играет.
-1
я цензор не С-кода, а любого кода вообще
громко, громко сказано — заурядный структурировщик кода ты, как и все паскалюги еще с 60-х(включая создателей Си) — хвастать букварем не надо. Ну и лакировщик еще — пара книжек старых «Как правильно писать на Си» прочитал, а с конца первой декады 21-века поперла еще мода(книжки) на тему «design/programming patterns» — теже старые яйца, но на новой волне и в красивой обертке. 99 из 100 бывших лютых говнокодеров с хабра прочитали уже 1-2 такие книжки — после этого автоматом пошло распухание личности: вы все — говнокодеры, а Я…
-2
Не надо всехз равнять на себя. Завидуйте молча.
+1
Чему завидовать?

Он не пишет кода, я не видел ЕГО КОДА здесь — а ковырятся в чужом коде и запинывать людей — может каждый. Создать ПОЛЕЗНЫЙ код с нуля — на 1-2 порядка сложнее, чем улучшать/троллить уже готовый.

Что касается меня — я не обсерал здесь никогда чужой код, я наоборот с ПОЗИТИВНЫМИ целями, но бесполезно в итоге, просил «гуру» показать ПРАВИЛЬНЫЙ код. Здесь многие говорят о первооснове и самоинформированности кода(о чем демагогично заявляет и VGA), но он не приводит этого самого исправленного и правильного кода при обсуждении чужого кода, т.е. говорить на языке КОДА(что и провозглашает) он не может(или ему лень и дискомфортно), но ему не лень, и он может обильно трепаться на обычном языке(не КОДА) на темы чужого говнокода.
0
но он не приводит этого самого исправленного и правильного кода при обсуждении чужого кода
Он достаточно подробно описывает где, что и как подправить, что бы получить хороший код. Если человек не способен выполнить «замени А на Б в третей строке», а хочет увидеть код с уже выполненным действием, что бы понять, то… (продолжайте сами).
Но да, несомненно больше пользы от ваших комментариев с картинками и ссылками на видео.

Это сайт электронщиков, а не программистов. Тут большая роль от конструкции, нежели от кода. Если вам предоставить кусок кода, вырванный с контекста, не имеющий под собой железной основы, вы врятли поймете больше, нежели из описаний конкретных действий по улучшению. Даже наоборот, начнете возмущаться «припёрся перфекционист, насрал ни к месту какой-то код.».

Создать ПОЛЕЗНЫЙ код с нуля — на 1-2 порядка сложнее, чем улучшать/троллить уже готовый.
Ага, верю. Уж так, бедняги, мучались высерая очередную порцию говнокода, вместо того, что бы взять готовую заготовку/библиотеку. Так тчательно копипастили и меняли «порядковые» номера у переменных. А ведь ещё надо самому не запутаться к чему относится dword3, что это строковый буфер для передатчика по второму компорту. :D
+2
Что я написал выше — касается многих, не только VGA. ОбсираяСчитая неправильным чужой код — надо соизволить предоставить свой правильный КОД, а не поток слов. И именно на том ЯЗЫКЕ, на котором критикуемый код написан, поскольку код обычно более-менее жестко привязан к интерьеру, идеологии, менталитету и экгрегору конкретного языка+платформы+ПО(библиотеки и компиляторы). Иначе — проще и главное универсальнее оказывается объяснить словами(описание), блок-схемами и т.п., т.е. минуя сам конкретный КОД, но это уже противоречит провозглашаемой идеологии самосущности и самоописательности кода. Резюме: раз уж пошла такая мода на паттерны — надо и предоставить такой правильный паттерн(кубик lego, блочок) на соответствующем языке.

В той теме про «умный дом» была проблема с надежной(правильной) сериализацией данных при приеме с последовательной линии передачи. Крику было много, но никто так и не предоставил там свой/стандартный правильный вариант КОДА. А мне было очень интересно это, поскольку правильная сериализация затрагивает проблемы безопасности, межплатформенного взаимодействия(разных платформ), правильной читаемости медиа-носителей/медиа-потоков/протоколов и портирования ПО на Си. Возможно, что такая простая на вид вещь — на самом деле весьма сложна, и потянет на целую статью или главу в книжке или даже на целую книжку. Но почему там никто не привел свой код, хотя бы для этого простого случая?
-2
ОбсираяСчитая неправильным чужой код — надо соизволить предоставить свой правильный КОД, а не поток слов.
Ви таки считаете, что я должен писать каждому, кого критикую, новую, правильную прошивку и совершенно бесплатно? Нет уж, бесплатно — только указание что и куда поправить и опционально — примерчик. Попиздеть мне в радость всегда, а вот код писать — только для себя.
Но почему там никто не привел свой код, хотя бы для этого простого случая?
Если программисту не очевидно, что надо делать с функцией ASCII_TO_HEX, чтобы проверять входные значения на корректность — то вон из профессии. В конце концов, это его работа — воплощать задачи, заданные нормальным языком (читай ТЗ) в программный код.
+2
Ви таки считаете, что я должен писать каждому, кого критикую, новую, правильную прошивку и совершенно бесплатно?
Як тебя понесло, а требовать исходники чужого кода ты горазд, здесь частенько такое было с тобой: опенсорс, мы же все здесь любители, что плохого в показе своего кода и т.д. и т.п. Я тебя вспоминаю еще по Радио-коту, ты там в давней теме про самод.паяльную станцию долго ныл на тему: почему де некто миха не выкладывает исходный код своей станции, тебе популярно объяснили: не хочет, право человека и т.д. ты долго там не мог угомонится, пока там тебя в культурной форме конкретно не послали. Я тогда тоже удивился: чем недоволен парнишка(VGA) — есть же неотъемлемое право у каждого чела — не публиковать свой код, ну можно спросить 1 раз, но требовать…
-2
здесь частенько такое было с тобой: опенсорс, мы же все здесь любители, что плохого в показе своего кода и т.д. и т.п.
Свой я выкладываю, в чем проблемы? Я отказываюсь бесплатно писать то, что мне не нужно. Но если оплатишь и напишу — охотно выложу (тут, правда, почему-то начинаются приступы скрытности у заказчика).
Я тогда тоже удивился: чем недоволен парнишка(VGA) — есть же неотъемлемое право у каждого чела — не публиковать свой код, ну можно спросить 1 раз, но требовать…
Не-программист и не поймет. И насколько я помню, сорцами я интересовался у Volly и Л.И., а не Михи.
И да, я считаю, что публиковать подобные схемы на радиотехнически-образовательном ресурсе без исходных кодов — безобразие. Ведь они абсолютно ничего не дают — такую схему можно только тупо повторить, не включая мозг (на самом деле можно еще пореверсить код, но это развлекуха для единиц). Volly здесь можно оправдать тем, что он дает прошивку, необходимую для реанимации покупных станций. Л.И. утверждает, что код ему не жалко, но опубликует только готовый и вместе с описаниями — это похвально, хотя мне бы хотелось поизучать код уже сейчас.
0
Не предоставлять код — имеет право каждый, спросить можно ОДИН раз ТЧК, если это тебе не понятно…

Предоставить 5-15 строк паттерн исправленного кода своего/стандартного_из_других источников — это не труд(тебя же не заставляют переписать всю портянку) и в порядке вещей во время спора и т.п. И сравнивать это с выкладыванием исходного кода(на который возможно затратил неск.недель или месяцев) — это просто некорректно.
-1
Не предоставлять код — имеет право каждый
Да, но я имею право относится к такому человеку так, как считаю нужным. И весьма часто — отрицательно.
спросить можно ОДИН раз ТЧК, если это тебе не понятно…
Я имею право спрашивать все, что захочу, и столько раз, сколько захочу. Разумеется, у спрашиваемого есть право ответить как угодно или не ответить вообще, но права указывать мне, сколько раз мне спрашивать у тебя нет.
Предоставить 5-15 строк паттерн исправленного кода своего/стандартного_из_других источников — это не труд
Я это делаю, в тех случаях, когда есть смысл. Если не предоставил там — в этом нет смысла. Если кратко — там нужно переписывать все, и никакие сэмплы на 5 строк тут не помогут. Разве что очень абстрактные, и я их даже приводил — только ты не заметил.
И сравнивать это с выкладыванием исходного кода(на который возможно затратил неск.недель или месяцев) — это просто некорректно.
Но ведь я как раз код выкладываю, а ты ко мне еще какие-то претензии выдвигаешь.
+1
Я имею право спрашивать все, что захочу, и столько раз, сколько захочу… но права указывать мне, сколько раз мне спрашивать у тебя нет.
Все это не регламентируется жесткими правилами(законом и т.п.), но регламентируется рекомендациями(моралью). С моральной точки зрения: ты не имеешь права требовать что-то от человека, что принадлежит ему, но он не желает этого тебе давать. Т.е. пытаться обобществить то, что является его личным достоянием. Не выполнение правил морали — нарочитое бескультурье, неадекватность с точки зрения людей, считающих эти моральные правила справедливыми.
-2
С моей точки зрения, опубликовать исходный код к конструкции на сайте, подобном РК — не менее аморально, чем требовать код (я же считаю, что не требовал его, а убеждал, что выкладывать код — это хорошо). По сути это все равно, что не опубликовать схему.
И да, здесь не коммерческие взаимоотношения. Сайт для того и предназначен, чтобы давать свое и делиться знаниями.
+3
Ты переплюнул даже самого RMS, который придумал GPL, в частности возмущаясь тем, что при капитализме чел может потенциально сесть за свой же код, который он раздал бесплатно. Но он не призывал национализировать в общественное достояние любой, в том числе проприетарный или являющийся личным достоянием код.
-3
Во первых, не любой. Только тогда, когда кто-то делится с общественностью своей разработкой — исходный код столь же важная вещь, как принципиальная схема. Понятно, что требовать код у clawham в его рассказе о зарядке аккумуляторов или у Gerret'а в его статье про оптоудлинитель USB — глупо и бессмысленно, но они и конструкцией не делятся — они рассказывают немного о теории.
Во вторых, взгляды RMS я более-менее разделяю.
+3
clawham итак слишком много «разболтал» и предоставил любопытные ссылки, лично я ничего такого не слышал до селе, как и многие другие.

Я вот что думаю: на таких ресурсах(и вообще на многих ресурсах в сети, где предоставляется бесплатная инфа) едят не тролли, и даже не авторы статей. Что имеют авторы статей? Почес ЧСВ? Частенько вместо почеса ЧСВ они получают неплохую дозу негатива для усугубления стресса и депрессии, но даже получив ЧСВ — что они имеют? Фикция виртуальных бонусов в виртуале? Как и те, кто набирает плюсиков и рейтинга, и рады по уши.

Едят на самом деле, и очень хорошо едят — с пользой, с толком, те, кто получает, высасывает информацию для себя. Читатели. Если рассматривать это с биологической точки зрения: они паразитируют, причем 90-95% паразитируют не симбиотически, т.е. только берут и ничего не отдают взамен. Причем, их еда и их бонусы — не виртуальны и эфемерны, а вполне материальны, т.е. легко материализуемы и монетезируемы. Они получают знания, know-how, закрытую «в миру» для них инфу и т.п., причем в полупережеванном, легкоусваиваемом, более сжатом и быстром виде, чем они получили бы это обычным/стандартным способом в доинтернетном об-ве. Они инвестируют это все в себя, свой мозг, если инвестиции вложены в мозг — это уже дело техники, времени и эффективности(КПД личности), когда и в каких кол-вах это все реально материализуется или монетезируется.

Какой простой, биологическо-энергетический, но парадоксальный вывод из всего этого: много, очень много читать и высасывать, но не писать ничего мало-мальски полезного на ресурсах. Ни кода, ни ссылок на дешевые штучки и товары или полезную инфу, ни популярных объяснений и поучений :D :D :D
0
они паразитируют, причем 90-95% паразитируют не симбиотически, т.е. только берут и ничего не отдают взамен.
И вот VGA явный пример симбиоза, потому что не просто потребляет информацию, но и делится ей: дает рекомендации по улучтению алгоритмов и кода. И заметьте, вы этим не довольны. Вы не довольны теми 5-10% которые существуют в симбиозе.
+3
Тем не менее, при этом он выделяет в пр-во обсуждения достаточное кол-во «интеллектуального яда», который парализует всякую инициативу начинающих или еще не заматеревших кодеров. В такой ядовитой среде чувствуют себя хорошо только такие как VGA и еще горстка так называемых «гуру» разной величины.

По определению: каждый начинающий и не достаточно опытный кодер — это говнокодер, аксиома-с. Но кому охота, чтобы о тебе думали, что ты говнокодер :D Логично?

Надо указывать верные(свои) паттерны кодирования новичкам, если бьешь их по голове.
0
Тем не менее, при этом он выделяет в пр-во обсуждения достаточное кол-во «интеллектуального яда», который парализует всякую инициативу начинающих или еще не заматеревших кодеров.
Если их инициативу можно убить таким безобидным способом, то это еще вопрос, стоило ли им становиться программистами вообще.

Многим людям сложно понять, что потребность писать (или вообще что-либо создавать в самом общем смысле, не только софт или железо) в каком-то смысле сродни физиологическим потребностям вроде пить или дышать. Сходство проявляется в том, что если такая потребность существует, то заставить себя НЕ делать это зачастую просто невозможно физически.
+3
Реквестирую в тред Lifelover'а! Тут обсуждаются «паттерны» и «говнокодеры», а он так и не появился со своим мнением ещё.
0
На самом деле это и не нужно. Распределение вида 5-10% vs 90-95% были, есть и будут. Просто тем, кто относит себя к 5-10% важно не забывать, что их возможность создавать новое (заниматься творчеством) зачастую существует только потому, что существуют остальные 90-95%. Некоторые из 5-10% это понимают умом, некоторые чувствуют инстинктивно. Эти категории продолжают делиться знаниями, обеспечивая приток новых людей из 90-95% в 5-10% и поддерживая соотношение на прежнем уровне (население-то растет). Другие возмущаются тем, что кто-то, якобы, паразитирует. Это, на мой взгляд, потенциальные кандидаты на возврат в 90-95%. Ни в коем случае ничего личного, подобное поведение я наблюдаю в очень многих областях и у весьма разных людей. IMHO, это естественный процесс развития социума (а человек, как ни крути, существо социальное).
+3
Кодирование(я даже не пишу никогда слово «программирование» — чтобы указать явлению свое точное место) — это не искусство, а утилитарное ремесло. Это даже не инженерия. Просто одно из умений, инструментов в руках инженера или прикладного специалиста, как математика и т.п., и учить ему надо, как ремеслу — отсюда и удобство и главное эффективность обучения через эти пресловутые паттерны проектирования, а не книжки-справочники по описанию элементов языка с простыми примерами их использования. Прочитав такую книжку и не зная по сути как программировать то, и возможно наслушавшись тезисов об «искусстве» от олдфагов и современных гиков, новоиспеченный начинает выписывать полет своей мысли в узоры из кода — отсюда и говнокод. Любой более-менее нормально пишущий ныне — был такой же говнокодер-энтузиаст, но понабив шишек и почитав умных книжек вбил со временем эти паттерны себе в мозг.

Еще раз повторю: кодирование на каком-то языке — это не искусство, а ремесло в рамках более высоких материй и структур инженерного проекта.
0
Кодирование и программирование — разные процессы. И в большинстве встречающихся тут случаев — это именно программирование. Кодирование без программирования возможно только в больших группах, где есть разделение на кодеров и программистов, здесь же в основном одиночки, которые сам себе и программист, и кодер.
+1
Такое деление уже невозможно. Да и не нужно. Оно имело смысл ровно до тех пор, пока набор и правка текста программы до состояния «компилируется без ошибок компиляции» занимало сколько-нибудь заметное время.
0
Кодирование(я даже не пишу никогда слово «программирование» — чтобы указать явлению свое точное место) — это не искусство, а утилитарное ремесло.
Кодирование в чистом виде сейчас практически не встречается.
удобство и главное эффективность обучения через эти пресловутые паттерны проектирования
Паттерны проектирования потому так и называются, что относятся отнюдь не к кодированию. И, строго говоря, они даже не привязаны к языку. И да, паттерны это тоже инструмент, но инструмент для творчества, а не для утилитарного ремесла. Ведь не перестает быть творчеством процесс разработки электроники только потому, что в них применяются готовые микросхемы. Паттерны это (в некотором смысле) такие же «готовые микросхемы» для программистов.
Прочитав такую книжку и не зная по сути как программировать
Прочитав книжку по паттернам можно научиться проектировать, а не кодировать. Для кодирования более чем достаточно описания синтаксиса языка. Научившись правильно (к месту) применять паттерны можно научиться создавать программы на достаточно неплохом уровне. Да, это не будут шедевры Рембранта и даже местный краеведческий музей врядли возьмет их в свою экспозицию. Но, как минимум, их будет не стыдно показать друзьям и знакомым. Замечу, что бОльшая часть кода, который тут публиковался, и близко не дотягивает до такого уровня (да-да, отсюда и критика).
Еще раз повторю: кодирование на каком-то языке — это не искусство, а ремесло в рамках более высоких материй и структур инженерного проекта.
Кодирование — да. Но, повторюсь, кодирование в чистом виде сейчас практически не встречается. Для того, что бы делать чистое кодирование, нужно иметь перед собой, как минимум, расписанную до мельчайших подробностей блок-схему программы. Трудоемкость подготовки такой блок-схемы до уровня детализации, когда она будет пригодна для использования кодером, превышает трудоемкость записи той же программы на одном из языков программирования. Это одна из причин исчезновения чистого кодирования как явления.

Одна из особенностей программирования, которая тяжело дается для осознания другим инженерам (и даже многим программистам), это то, что программа это и есть готовый дизайн продукта. И, в отличие от других видов инженерной деятельности, фазы «материализации» дизайна в готовый продукт в программировании сведены практически к нулю, их длительность исчезающе мала, а сам процесс автоматизирован практически полность. Кодирование (именно как процесса набора текста программы) постепенно постигает та же участь, затраты на него мизерны и постоянно уменьшаются. Поэтому говорить о кодировании сейчас практически не имеет смысла, весь процесс создания программы сводится к проектированию.
+2
Поэтому говорить о кодировании сейчас практически не имеет смысла, весь процесс создания программы сводится к проектированию.

Я понимаю конечно, что термины кодер и кодирование — они оскорбительны в некотором смысле для некоторых людей. Термин пришел из англоязычной среды, там без всяких комплексов используют термины code, coding и даже The CODE. Просто у нас этот термин очень широко распространился вначале в виде 2-х коренного слова с 1-м корнем — «говно», ведь не говорят же говнопрограмма или говнопрограммист — не так ловко и быстро слетает с языка. Ну еще остался с совковых времен некий флер уважительной загадочности к слову «программист», но сейчас то другие времена — именно, что их стало, как говна :D Кроме того, это уже не автомобилист начала XX века, а обычный шофер или водитель личного авто.

Для меня русские слова «программа» и «программирование» не имеют какого-то ореола избранности и загадочности, наоборот — это что-то простое и примитивное: программирование калькулятора: Y/X^2 — X, программирование робота на определенную операцию: «захват_двигать: Y 20 см; Y 10 см; Z -5 см; захват_схватить», программа-перфолента с координатами (drill file) для ЧПУ, запрограммировать людей — превратить их в дебилов-марионеток и т.п.

Что такого умного и избранного заключено в термине «программирование», в отличии от термина «кодирование» — я лично, не понимаю. Вот термины «проектирование» и «конструирование» — я понимаю, но они стоят выше терминов кодирование/программирование.
0
Поэтому говорить о кодировании сейчас практически не имеет смысла, весь процесс создания программы сводится к проектированию.

Так и не успел написать главного на этот тезис. Вы же сами писали про «программирование волнами», где нет никакого проектирования и даже плана, а группа кодеров, как амебы в броуновском движении тыкаясь во все стороны ваяют вокруг себя(испускают) волны кода, который переписывается где надо до 10 раз, в других местах затихает и костенееет, а где-то(на каких-то направлениях) прет как разварившаяся каша из кастрюли.
0
Это, простите, вы так на своем уровне понимания решили, что нет никакого проектирования и плана. И то, и другое есть, только они имеет сильно другой вид и происходит заметно иначе, чем в традиционных инженерных дисциплинах. Это отличие обусловлено спецификой области деятельности.
+2
где нет никакого проектирования и даже плана, а группа кодеров, как амебы в броуновском движении тыкаясь во все стороны ваяют вокруг себя(испускают) волны кода
Это и есть проектирование. Ты же зачем-то предлагаешь еще и проектировать проектирование.
+1
Ты странный человек, ему говорят: гора — треугольная, а он говорит, что она не треугольная, а вся какая-то неровная и бугристая и даже Луна — не круглая и даже не эллипсовидная, а тоже неровная. Что поделать, если человек просто не видит треугольник в горе и круг в Луне, а они там есть. Человек не инженер, а программер — и у него все что связано с тривиальной инженерией — все по своему. Зачем усложнять самому себе жизнь?
0
Ты странный человек, ему говорят: гора — треугольная, а он говорит, что она не треугольная
Ты говоришь про себя, а не про меня. Я что-то не припомню, чтобы ты хоть раз привел пруф к тому, что программирование не проектирование, хотя это твое утверждение противоречит утверждениям тех, кто в программировании явно разбирается, тогда как твои познания в этой области, мягко говоря, сомнительны.
+2
Отбросив 0.1% гениев «программирования» и сразу автоматом в русле проектирования, как ты — можно точно утверждать, что тезис: «программирование — это проектирование» — ведет по факту к банальному говнокодингу, который ты здесь и троллишь.
0
Пруфы, пруфы где? Да даже хотя бы обоснования — и тех нет. Только «обсуждение, используя максимально понятный и популярный слог» (впрочем, даже с понятностью слога у тебя туго). Но это не придает веса твоим утверждениям.
ведет по факту к банальному говнокодингу
Говнокодинг = говнопроектирование. В чем проблемы? Говнопроектирование — проблема не только в программировании. Те же китайские продукты зачастую являются отличным образчиком работы говноинженера.
Вот только это никак не противоречит тому, что программирование — это проектирование.
+1
Есть говнокодинг и есть отдельно плохое проектирование. Плохой/неудачный проект может быть качественно закодирован, и к самому коду там не придирешься, а может кое-где в каком блоке и говнозакодирован(не эстетичен, трудносопровождаем), но блок выполняет свои функции, а проект функционирует.

Есть монолитный, цельнотянутый с первых символов кода говнокод (без проекта, а возможно даже и без обдумывания) — ты это имел ввиду?
0
Плохой/неудачный проект может быть качественно закодирован
Не может.
Есть монолитный, цельнотянутый с первых символов кода говнокод (без проекта, а возможно даже и без обдумывания) — ты это имел ввиду?
Без обдумывания код написать нельзя. Другой вопрос, что не имея навыков и знаний можно такого на проектировать, что на выходе будет говнокод, как акуратно его не пиши.
+2
Надо чтобы кто-то написал статью «Что такое говнокод?» и освятил подробно явление. Аспектов там много я думаю и статья будет весьма толстой.
0
Нет, она будет очень короткой: говнокод == говнодизайн.
0
Там очень много аспектов, кроме эстетических, читаемости и возможности поддержки кода. Многие считают, что велосипед — это тоже говнокод. Сложный к переносимости код тоже некоторые относят к говнокоду.
0
Все вами перечисленное — проколы сугубо по дизайну.
+1
Плохой/неудачный проект может быть качественно закодирован, и к самому коду там не придирешься
Такого не бывает — плохое проектирование напрямую отражается кодом (который, собственно, и есть проект) и критикуется. Например, у того же Popandopala я в равной мере придирался как к проектированию, так и к имплементации — по одному и тому же исходному коду и только ему.
Есть монолитный, цельнотянутый с первых символов кода говнокод (без проекта, а возможно даже и без обдумывания) — ты это имел ввиду?
Код — это и есть проект. Говнокод — это плохой проект.
0
Нет, не ведет. Наоборот, говнокодинг появляется там, где программирования именно как проектирования нет, есть только «броуновское движение амеб», которые понимают программирование как банальный кодинг.
+1
тогда как твои познания в этой области, мягко говоря, сомнительны.

Я бы посоветовал тебе быть осторожным в распухании личности. Мои чисто «философские» изыскания неких проблем и тенденций в программировании, совр.электронике и т.п., и то кем я позиционирую себя здесь — довольно скромны.

А вот тебе прийдется отвечать за слова и за высокое звание «гуру» и «профи» и предоставлять народу что-то более соответствующее, а не этот так называемый «код» на паскале, как в этой статье. Применив к сложности или объему кода, который ты должен уметь написать(естественно на Си), тот же коэффициент, на который ты распух по сравнению с обычным уровнем пикейных жилетов и здешних «говнокодеров», т.е. произведя масштабирование — если муравей может ворочать соломинкой, то слон то должен ворочать деревья под полутонну.

Люди могут надеятся на появление RTOS или хотя бы естественно первоклассных и портируемых библиотек GUI, поддержки периферии, шифрования и т.п. от «слона» не в кодировании, а в «программировании»?
:D :D :D
0
(естественно на Си)
Меня не интересуют указания пикейных жилетов по поводу того, на каком языке мне писать. Равно как и что мне писать.
0
Ну значит, так называемых тобой «говнокодеров» — тоже может не интересовать пикейное мнение от такого «гуру» паскаля :D

Правильно тот Миха не дал тебе кода — пиши сам, если можешь и если так умен(да там особо и писать нечего).
0
Ну значит, так называемых тобой «говнокодеров» — тоже может не интересовать пикейное мнение от такого «гуру» паскаля :D
Да на здоровье. Это уже не мои проблемы.
Правильно тот Миха не дал тебе кода — пиши сам, если можешь и если так умен(да там особо и писать нечего).
Злорадствуеи. Ну-ну. Я-то напишу, а остальные пусть так и просят «а мне бы прошивочку вот под такой индикатор».
0
Ладно, а то так уже пошел переход на личности. Но ты тоже дерзкий паренек — даже пикейным жилетам не надо говорить, что они нули в кодировании :D

Говнокодировать я пока не хочу — я не съел еще критическую массу «C patterns for MCU(embedding) programming» и так и не разобрался с возможностями и способами портирования кода между MCU ARM Cortex-Mx разных производителей. Но время еще есть — я рассчитываю, что эта технология ARM спокойно просуществует ближайшие 5-7 лет, а примеры кода/библиотек/порты RTOS для этих чипов стали обильно появлятся только с 2011,2012 гг.
0
даже пикейным жилетам не надо говорить, что они нули в кодировании :D
Ну буду, если они не будут говорить чушь сомнительные вещи без малейших пруфов, аргументации и авторитета.
0
Ну вот и хорошо.

P.S. А готовые patterns все же подкидывай по возможности в обсуждениях(чисто корыстный интерес у меня — 90-95%).
0
А вот тебе прийдется отвечать за слова и за высокое звание «гуру» и «профи» и предоставлять народу что-то более соответствующее, а не этот так называемый «код» на паскале, как в этой статье.

У Вас прям butthurt какой-то. Поверьте, Vga (как и другие участники сообщества) не должен никому доказывать свою компетенцию. Здесь вообще никто никому ничего не обязан.
+1
Вы странный человек: вам говорят — все есть только устроено сильно иначе, а вы говорите, что ничего нет и вообще броуновское движение амеб.
+2
В тех спорах именно Вы утверждали, что документация никакая не нужна и даже начальный проект в том числе — все возникает само собой по ходу кодинга.
0
Что есть начальный проект? Программирование (кодинг, как ты его называешь) — это и есть процесс проектирования продукта. Когда он завершен — единица продукции производится просто нажатием «Build» в среде программирования, создается полностью автоматически и отправляется заказчику. Ремесленников в программировании давно заменил компьютер, остались только творцы.
+1
Нет, я такого не утверждал. Да и не мог. Другой вопрос, что вы могли не так понять то, что я говорил. Впрочем, я вполне мог сформулировать ответ подразумевая какой-то уровень знаний об обсуждаемом предмете, а это в итоге привело к непониманию.
0
И все-таки, хорошо заметно, что мысль о том, что код программы это не продукт, а его дизайн, вами до конца не воспринимается. Ничего страшного, это, увы, даже не все программисты до конца осознают.
+1
Я понимаю конечно, что термины кодер и кодирование — они оскорбительны в некотором смысле для некоторых людей.
Во всяком случае некоторые думают, что они оскорбительны. Это одна из причин использования именно «говнокодер» (типа два оскорбления в одном). Но, как вы верно заметили, в англоязычной среде этот термин давно используется наравне с термином программист. И означает ровно тоже самое. Это еще один момент, который, как бы, тонко намекает, что кодинг в его изначальном смысле ушел в небытие.
Для меня русские слова «программа» и «программирование» не имеют какого-то ореола избранности и загадочности
С чего бы они должны были иметь этот ореол?
наоборот — это что-то простое и примитивное: программирование калькулятора: Y/X^2 — X, программирование робота на определенную операцию: «захват_двигать: Y 20 см; Y 10 см; Z -5 см; захват_схватить», программа-перфолента с координатами (drill file) для ЧПУ
Ну да. Примерно как в электронике — припаял проводок туда, припаял сюда. Чего ж тут сложного-то? Припаял два проводка — фонарик. Три — калькулятор. Четыре — айфон. Все просто и примитивно. Придумали себе какое-то загадочное название «инженер», «электронщик», хотя они просто монтажники :)

Что такого умного и избранного заключено в термине «программирование», в отличии от термина «кодирование» — я лично, не понимаю.
Умного и избранного? Ничего. Это просто слова.

Вот термины «проектирование» и «конструирование» — я понимаю, но они стоят выше терминов кодирование/программирование.
У вас есть рейтинг терминов? А термины об этом знают? :)

Раз вы пока не разобрались, то пока вам придется поверить на слово, что «проектирование/конструирвание софта» и «программирование» — это один вид деятельности в IT. Второй термин это всего лишь удобный короткий вариант для первого.
+2
Все просто и примитивно.
Все именно так, когда задача или конструкция иерархически разбита на более простые и в конечном счете примитивные подзадачи или блоки.

Чудеса бывают только для стороннего и не знающего человека. Кто-то знает, как устроен типичный CPU до мельчайшего внутреннего логич.блока и для него это все примитивно до скуки, а раньше, как и для ныне не знающих — это ему казалось чудом.
0
Все именно так, когда задача или конструкция иерархически разбита на более простые и в конечном счете примитивные подзадачи или блоки.
Задачи программирования решаются так же.
Кто-то знает, как устроен типичный CPU до мельчайшего внутреннего логич.блока и для него это все примитивно до скуки, а раньше, как и для ныне не знающих — это ему казалось чудом.
На самом деле, закапываясь в вопрос «как работает CPU» ты упрешься не в логические блоки (с ними тоже вопрос — как работают? а вот, из транзисторов состоят. а как транзистор работает?), а в квантмех, который мало того, что мало кому понятен, так еще и находится на фронтире науки — и вполне вероятно, что при твоей жизни CPU так не понятным до конца чудом и останется.
+1
Ты опять утрируешь и усложняешь(видишь рыхлую и некруглую Луну). Можно ограничиться логич.блоками, а кому надо объяснить внутреннее устр-во элементарного лог.элемента на основе MOS транзисторов(ключей), т.е. буквально на пальцах, но без всяких таинственных фокусов. Это все поймут и дети.
0
Можно ограничиться логич.блоками
Можно. Но этого недостаточно для того, что бы создать проц с нуля. Ровно тоже самое и с софтом, кстати, только неизвестных больше.
+1
Я перестал тебя понимать. Да и в любом случае, от вопросов программирования эта ветка отклонилась, так что мне в ней делать нечего.
+2
Все именно так, когда задача или конструкция иерархически разбита на более простые и в конечном счете примитивные подзадачи или блоки.
То есть вы просто монтажники? :)
+2
Именно! Но здесь есть понятие у конструкторов — сбалансированная конструкция, именно в этих случаях нужно думать или просто угадать этот баланс.
0
Монтажники не угадывают и не думают, монтажники просто впаивают указанные детальки в указанные места.
+1
Именно этим и занимаются программисты в процессе написания программы — думают и пытаются достичь баланса. Монтажником у программистов работает компилятор/линкер/etc. У многих есть еще и девочка-лаборантка на побегушках — IDE.
+1
Для меня русские слова «программа» и «программирование» не имеют какого-то ореола избранности и загадочности

Да что Вы! Ведь каждый программист обладает сверхъестественными способностями :) Например, хороший программист глядя на код программы может предсказать крах программы в будущем, и даже точно назвать условия, при которых программа «упадет». Более того, этот программист может предотвратить этот крах, совершив некое таинство над исходным кодом, обряд «наложения рук на клавиатуру»

А если серьезно, я совершенно не понимаю, что и кому Вы хотите доказать этим вбросом.

Вы начали с аргументов «сперва добейся». Дескать нельзя критиковать чужой код просто так, нужно сначала написать свою версию правильного кода, а только потом переходить к критике. Нельзя просто сказать «плохо называть переменные в духе a, b, c, d», нужно обязательно придумать правильные названия для переменных, исправить код и передать его автору.

Потом вы решили сорвать покровы и доказать что написание программ это не магия, а всего лишь вид инженерной деятельности. Ок. Только кому Вы это доказываете — никто и не утверждал обратного.

Потом вы прошлись по вещам, о которых, ИМХО, у Вас очень отдаленно представление (шаблоны проектирования, agile методология). Дальше я запутался в дебрях непонятных метафор. Треугольная гора, щербатая Луна…

Вот к чему это?
+2
Потом вы прошлись по вещам, о которых, ИМХО, у Вас очень отдаленно представление (шаблоны проектирования

В шаблонах проектирования я как раз разбираюсь, точнее умею их есть — понять и употребить. Собственно для «дебилов», инженеров, «монтажников» и начинающих они и создавались другими людьми. Нужны ли они «Программистам» — этого я не знаю.
0
В шаблонах проектирования я как раз разбираюсь

Везет Вам. А говорите « пикейный жилет»…

Увы, но я не могу сказать, что я хорошо разбираюсь в применении шаблонов. Для меня там очень много спорных моментов. Если Вы разбираетесь — было бы прекрасно, если бы Вы написали отдельную статью по данному вопросу. У меня к Вам будет очень много вопросов, особенно по оптимальному выбору баланса между концепцией KISS и применением шаблонов.
+1
Не думаю, что я Вам помогу, т.к. я сам не пишу и не изобретаю шаблоны — у меня к ним приземленно-крестьянское, т.е. потребительско-утилитарное отношение, как к кусочкам(блочкам) «правильного» кода. Выше evsi об этом уже сказал: пример чипов и стандартных схем в электронике.
0
 как к кусочкам(блочкам) «правильного» кода

Шаблоны проектирования — это не примеры «правильного» кода. Это шаблоны, которые притеняются именно при построении архитектуры, а не при реализации. Реализация шаблона может быть разной даже в рамках одного ЯП. Как раз с реализацией шаблона — вопросов нет, все вопросы сводятся именно к построению архитектуры.
+1
Меня пока мало интересуют patterns проектирования — это из общей архитектуры или для ООП(javascript, C++) или огромных проектов. Имею большой интерес к coding patterns и желательно на конкретном языке(Си, asm), для конкретной платформы(ARM Cortex MCU) и для конкретного инстр.ПО(GCC, Keil, IAR). Ну и вопросмы портирования на Си интересны — чтобы стянуть готовое или чтобы можно было более-менее быстро перекинуть ПО с чипа на чип.
0
Меня пока мало интересуют patterns проектирования — это из общей архитектуры или для ООП(javascript, C++) или огромных проектов.
Ок. Будем считать что Вы отмазались :) Ну дык и зачем было организовывать этот «вборс»? Если ради тролинга — то уж слишком жирно. Если хотели что-то доказать — то что и кому (и зачем)?
+1
Ну смысл вроде бы ясен:

1. Как в детском садике учили: зазнаваться, какой бы ты ни был хороший — нехорошо!

2. Отсутствие этих пресловутых паттернов в той теме, которые бы закрыли вопрос. И дело там не в переименовании переменных или копипасте(для меня это не главное), говорили о проблеме сериализации с линии и ненужности case или переделке его + еще что-то мне было интересно. Впрочем, позицию ТС-а я тоже не понял — почему бы не исправить и уточнить, что исправить.

3. По ходу дела сам собой разжегся небольшой старый холивар + как обычно добавились «философские» размышления.
0
Меня пока мало интересуют patterns проектирования
А напрасно.
это из общей архитектуры или для ООП(javascript, C++) или огромных проектов.
Строго говоря паттерны не специфичны для ООП. Да, некоторые из них лучше ложатся в ООП и/или удобнее описываются в терминах ООП (как, например, data object или композит), но и только. Возможно это еще один повод присмотреться к ООП. В конце-концов, ООП (как и структурное программирование) это тоже из «общей архитектуры».
Ну и вопросмы портирования на Си интересны — чтобы стянуть готовое или чтобы можно было более-менее быстро перекинуть ПО с чипа на чип.
Вот-вот. Это одна из причин делать дизайн программы правильно, четко определяя интерфейсы и разделяя программу на изолированные блоки. На этом этапе многие обнаруживают для себя, что они, оказывается, уже применяют паттерны, только не знали, что тот или иной типовой подход так называется.
+1
Собственно для «дебилов», инженеров, «монтажников» и начинающих они и создавались другими людьми.
Нет. Они создавались для того, что бы а) не изобретать велосипеды и б) упростить обсуждение дизайна. Когда я говорю другому программисту «data object» или «композит» или «делегат» он меня понимает сходу и нет необходимости тратить время на обсуждение подробностей реализации. Нечто похожее есть и в электронике — ИТУН, ИНУН, операционный усилитель, топологии преобразователей и куча других вещей, включая банальный ключ — это все паттерны.
+1
Потом вы решили сорвать покровы и доказать что написание программ это не магия, а всего лишь вид инженерной деятельности. Ок. Только кому Вы это доказываете — никто и не утверждал обратного.
Мне показалось, он как раз к не-инженерной деятельности программирование относит, к «монтажникам».
+1
С моей точки зрения, опубликовать исходный код к конструкции на сайте, подобном РК
Тьфу ты, «не опубликовать». Впрочем, судя по комментариям — все поняли правильно.
+1
От чего же все тогда кричат «подавай нам доку на русском»? Почему же тогда возникают вопросы «взял вот пример, изменил свое имя, а не запускается теперь, что делать»? Хотя вы правы, последние мечтают именно о том, что бы им всё сделали за них, а что там к чему — их не интересует, и объяснять — тратить их время.

В той теме про «умный дом» была проблема с надежной(правильной) сериализацией данных при приеме с последовательной линии передачи. Крику было много, но никто так и не предоставил там свой/стандартный правильный вариант КОДА. А мне было очень интересно это...
Конкретно в том топике. Вы готовы оплатить разработку правильного кода? Это есть время, а время есть деньги. Мне не улыбается тратить свое время, на человека не способного к обучению (обращаем внимание на его реакцию на конкретные рекомендации).
Вам (условно вам) дали бесплатный совет, да ещё и с конкретными указаниями по улучшению кода, а вы ещё и не довольны.

Но почему там никто не привел свой код, хотя бы для этого простого случая?
Конкретно я:
— Мне жалко своего времени на выполнение задачи, которая мне не нужна/не интересна/не приносит выгоды соизмеримой с затраченными ресурсами.
— Я не собираюсь выполнять работу за того, кто её не хочет делать сам. Нахлебников хватает. Я рад и готов помочь тем, кто хочет учится, но я не готов тратить время на тех, кто учится не хочет. Последнее очень хорошо определяется реакцией на советы.

Если вопрос с той конкретной темой ещё открыт, то логичнее перейти в ту конкретную тему.
+2
Создать ПОЛЕЗНЫЙ код с нуля — на 1-2 порядка сложнее, чем улучшать/троллить уже готовый.
С точностью до наоборот, на самом деле. Достаточно посмотреть на типичную ситуацию среди программистов «О боже, что я понаписал?! Надо переписывать с нуля!». Некоторые переписывают до сих пор, так что пользователи вынуждены пользоваться набыдлокоженной, глючной, но оведенной более-менее до конца первой версией. Вот тебе и «улучшать проще».
но он не приводит этого самого исправленного и правильного кода при обсуждении чужого кода
Шлифовка — процесс итеративный. Нет смысла шкурить до отесывания рубанком, и если автор игнорирует советы по отесыванию — незачем приводить советы по работе шкуркой.
Он не пишет кода, я не видел ЕГО КОДА здесь
Я выкладывал, изучай на здоровье, в чем проблемы? Или ты даже чужой изучить и обосрать не можешь, так что вынужден обсирать тех, кто может?
Да даже в этом топике ты не нашел к чему придраться, кроме языка. Это позор. Тема спорах о языках давно уже пришла к единственному выводу — если язык решает задачу, то это нормальный язык, остальное — говнометание, так что придираться к нему…
+2
В этой статье я не вижу собственно КОДА :D А изучать код виндового терминала на дельфях с целью изобличения и затролления VGA — уволь — не те времена, синонимом слова КОД здесь(в MCU сфере) для меня является Си, ну еще немного asm, там где надо что-то посмотреть в лупу для интереса или допилки вручную ювелирной бор-машинкой, но меня(лично) интересует только asm для ARM. Кроме Си я уважаю javascript, ну еще оказывается надо бы вызубрить еще и Java. Все, на другие языки(тоже возможно перспективные и нужные true MCU-мену) мне просто не хватит ресурсов.
0
В этой статье я не вижу собственно КОДА :D
Извини, от слепоты не лечу. От тролльства тоже, за этим пожалуйте к evsi.
Если критиковать тебе мешает язык (при том, что язык принадлежит к той же парадигме, что и С и различия немногим больше косметических) — то это твои проблемы, и не надо гнать, что я не пишу кода. И если уж указывать, кто что делает — то у тебя в активе вообще ни строчки ни на чем.
+2
BTW, в этой статье код на С и асме, для МК. Так что отмазаться незнанием языка у тебя не выйдет.
Или AT89C2051 — это прошлый век и неактуально для тру MCU-пикейного жилета?
+2
Здесь КОДА нет, повторяю тебе — здесь кодик или не знаю даже что. Код — это если есть алгоритм или хотя бы небольшой паттерн кодирования.

Есть такая уловка: иногда люди накидывают маск.накидочку любителя — а я любитель, делал для себя, что вы ко мне прикопались с пром. стандартами и т.п. — с меня взятки гладки.

Но, если человек надел пуленепробиваемый пикейный жилет и заявляет об этом… Т.е. человек однозначно заявляет, что он не имеет никаких претензий на звание «гуру», «профи» и т.п., но желает учавствовать в обсуждениях, используя максимально понятный и популярный слог. Так что уесть меня по поводу пикейного жилеты ты не сможешь :D
-1
Здесь КОДА нет, повторяю тебе — здесь кодик или не знаю даже что.
Пруф определением понятия КОД (из авторитетного источника, разумеется) или GTFO. Согласно моим определениям — это код, так что не надо ля-ля.
Т.е. человек однозначно заявляет, что он не имеет никаких претензий на звание «гуру», «профи» и т.п., но желает учавствовать в обсуждениях, используя максимально понятный и популярный слог.
Вот только мнение такого человека в обсуждении веса не имеет.
0
Вес имеет любое мнение, если оно аргументированно представлено или доказано.
0
То-то твои мнения регулярно оцениваются сообществом как неправильные. И да, как раз аргументировать ты забыл.
+1
Меня кстати, плюсуют тоже. Но я уже давно не обращаю внимания на + и — -ы. Минусы я нахватываю обычно, когда нарочито начинаю спорить на потенциально минусовые темы или за выходки с «идиотскими» фразами и ссылками на youtube, но я не могу просто бывает удержаться от этого, хотя четко осознаю, что это моя честно отданная плата(минусы) за такие сомнительные «удовольствия» :D
0
И потом — ты наверное и минусуешь меня, не так ли? В этой теме и далее везде ты будешь минусовать все мои мессаджи, вне зависимости, что там написано :D
0
Ну по два минуса я явно выдать не мог, правда? И нет, минусую в зависимости от содержания. Как и плюсую.
+2
Цитата:
— Я вижу, вы не страдаете от недостатка скромности.
— А по моему мнению, скромность — как раз и есть недостаток.
0
Да, насчет цензора — слишком громко. С другой стороны, цензором меня назвал well-man2000, а я исправлял некорректность только насчет того, на каких языках смотрю и критикую код.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.