Свежие обсуждения
Не про радио

"Висяки" в практике радиолюбителя

1 6 8

А - я думал это ИК приемник для програмирования.

 

Вот развесистая подборка пропеллерных часов: http://www.luberth.com/analog.htm

 

Любитель: А я нашел способ борьбы с висяками в программировании - КАЖДАЯ сторочка, и не только на ассемблере, но и на языке высокого уровня должна содержать ПОДРОБНЫЙ комментарий. Мало того, заметил, что иногда начинаю новую строку программы писать с комментария Такую программу даже через месяц можно вспомнить и дописать или модернизировать.

LDI R16,2
; Здесь мы в R16 заносим 2
ADD R17,R16
; Здесь мы к R17 добавляем 2, потому что 1 - мало, 3 - много, а 2 - самый то.

Так что ли ?
А я в каждом проекте завожу файл OSKOLKI . Вдруг какая-то фича оказывается ненужной или переделал ее на лучший вариант, а прежнее - в ОСКОЛКИ. Как виндовая Корзина Пару раз находил там стОящее...

 

Bul_d_Ozer: LDI R16,2
; Здесь мы в R16 заносим 2

Замечательный пример бесполезного комментария
лучше так:
LDI R16,2
; начальное значение счетчика отслеживаемых целей

 

Bul_d_Ozer:
LDI R16,2 ; Здесь мы в R16 заносим 2
Комментируется не синтаксис ассемблера, а программа!!
В комментарии не пишется R16, а пишется что именно в Вашей программе хранит или складывает этот регистр.
Абсолютно согласен! КАЖДАЯ СТРОКА ДОЛЖНА ИМЕТЬ КОММЕНТАРИЙ, потом мнооого времени себе сьэкономите!.
И опыт,- сын ошибок трудных... (С)

 

Vlad_Petr: Bul_d_Ozer:
LDI R16,2 ; Здесь мы в R16 заносим 2
Комментируется не синтаксис ассемблера, а программа!!
В комментарии не пишется R16, а пишется что именно в Вашей программе хранит или складывает этот регистр.
Абсолютно согласен! КАЖДАЯ СТРОКА ДОЛЖНА ИМЕТЬ КОММЕНТАРИЙ, потом мнооого времени себе сьэкономите!.

Дык программа и есть множество строк, удовлетворяющих требованиям синтаксиса данного языка.
Комментирровать каждую строку, я думаю, уже паранойя ( ничего личного ! ). Этим можно заниматься, если для себя лепишь одну-две проги в год. А если работаешь на заказ, то это деньги на ветер - как пиво без водки
Я себе выработал стандарт де-факто : в начале подпрограммы или логически завершенного блока, выполняющего осмысленные действия, детально описываю интерфейс этого модуля : откуда что взяли, что с ним сделали и куда положили. Себе легче вспомнить и кто потом будет сопровождать, ему тоже понятно. А конкретную операцию комментировать - это если уж невзапно проклюнулось нечевидное решение, чтоб потом не мучиться - и какой идиот написАл такую хрень ( в моих прогах и такие комменты встречаются - это когда через некоторое время разбор идет ) .

 

Bul_d_Ozer: ...если уж невзапно проклюнулось нечевидное решение

Этот случай как раз хорошо иллюстрирует продолжение фразы, предложенной Vlad_Petr-ом:

И гений - парадоксов друг. (А.С.Пушкин)

Одному надо пройти весь путь A-B-C-D, другой находит неочевидное решение и идёт A-D.

 

Михась: В большинстве случаев: отсутствие соответствующего корпуса для устройства.
Это точно. Покупать за 10 уей - жаба душит, а приспособить что-нить дешевое к своей задаче, так приходится порядком поломать репу. Я раз в магазинчике неликвидов нашего з-да ВТ нашел коробочек для больших дискет (5").
Попробовал запихнуть туда программатор, и увидел, что это хорошо. Побежал купить в запас - фиг вам. Скончались.
Но программович получился классный : оптоотвязанный от компа и с переключением ПРОГР. - UART. Залил прогу, переключился - и имеешь при отладке любые сведения изнутри проца, если, конечно, эту фичу пропишешь в отлаживаемой проге.

 

Bul_d_Ozer: Я себе выработал стандарт де-факто : в начале подпрограммы или логически завершенного блока, выполняющего осмысленные действия, детально описываю интерфейс этого модуля : откуда что взяли, что с ним сделали и куда положили. Себе легче вспомнить и кто потом будет сопровождать, ему тоже понятно
Есть подпрограммы в которые нет смысла лазить. Это те, которые тщательно оптимизированы (не обязательно Вами),- например математические функции.. тут конечно просто в начале описание интерфейса.
Но очень многие ваши куски программы Вами применяются много раз в разных проектах с некоторыми изменениями. Весьма полезно заново "вьезжать" полностью в этот фрагмент и тут подробный комментарий позволяет сделать это быстро, безболезненно и заодно (часто) этот фрагмент улучшить.. Если комментарии не позволяют сразу влет видеть все тонкости фрагмента, Вы НЕ БУДЕТЕ снова в нем разбираться, а будете его готовым пристраивать. Вот и выходит, что точные и подробные комментарии способствуют УЛУЧШЕНИЮ КАЧЕСТВА Вашей библиотеки а не только ее обьема...

 

Скоро одним "висяком" в моей радиолюбительской практике станет меньше.
Когда я нашёл обломки микроволновки Samsung M6245, я снял панельку с цифровым блоком, чтобы использовать в качестве таймера для моего второго паяльника (он, как и первый, ЭПСН-25). Но, опять же, было "то в лом, то некогда, то опять в лом" - обычная для радиолюбителя история.
И вот сегодня я, наконец, этот "висяк" "поднял". Он почти готов и работает, осталось корпус придумать подходящий.