Перейти к содержанию
    

как быстро вникнуть в чужой код

Всем здравствуйте и доброго времени суток!!!

Думается, что многие из читателей форума проходили этап, когда необходимо было перелопачивать и исправлять чужой код . С этой ситуацией столкнулся и я. Второй день тупо смотрю в монитор, стараясь понять в проекте, что откуда пришло и куда зашло, как где модифицировалось и что в итоге получилось. Сначала смотрел описание девайсины, потом начал читать про протоколы используемые в ней, параллельно заглядывая в код. Голова под конец вечера была полна мути, а состоянии напоминало состоянии прострации. Накопленный стресс приходилось снимать вечерними пробежками и маханиями руками по воздуху :biggrin:

Хотя сегодня ,когда заглянул в RTL viewer, после того как скомпилил проект, дело пошло гораздо веселее, но все же, может есть у кого пара тройка дельных советов по тому как быстро попробовать проглотить кем то написанный проект ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

только заставить его писать код в едином с вами стиле, возможно корпаративными правилами. Также здорово помогают комментарии. Более методик разбора вроде как нет, найти верхний модуль и потихонечку спускаться в глубину.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Более методик разбора вроде как нет, найти верхний модуль и потихонечку спускаться в глубину.

+ голова, каранадаш и стопка бумаги.

 

ТС через пару недель вьедите

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Также здорово помогают комментарии.

 

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

 

найти верхний модуль и потихонечку спускаться в глубину.

 

да тоже подумал , что освоение по одному модулю куда целесообразней, но можно и в обратном направлении , снизу вверх.

 

+ голова, каранадаш и стопка бумаги.

 

тоже предпочитаю карандаши :biggrin:

 

Быстро?.. Никак.

 

это конечно жаль, знать будем сидеть и въезжать по-тихоньку :biggrin:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это сделало мой день!

Рад окрасить ваш день новым цветом. Ошибся в знаке, каюсь. надо было через твердый знак писать эту сущность :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ошибся в знаке, каюсь. надо было через твердый знак писать эту сущность :)
Если бы только это. Там на самом деле две ошибки. В одном-то слове.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у как быстро попробовать проглотить кем то написанный проект ?

 

Есть вот veriloghgl.org - может что-то даст... VTС строит блочки и связи между ними... Не могу сказать, что "это наше все", но хоть что-то..

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если бы только это. Там на самом деле две ошибки. В одном-то слове.

вполне возможно, пишу я плохо. прошу научить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По существу вопроса. Помогает:

1. Вступить в коммуникацию с разработчиком. Предварительно следует оценить "кредит глупых вопросов".

2. Самому комментировать код

3. Имея RTL, самому сделать документацию к блоку. Хотя бы на уровне: спецификация - функциональное описание - струкутрное описание.

4. Самому модифицировать код и даже структуру в соответствии со своим пониманием функционирования блока и/или его отдельных узлов

 

Для пунктов 2 и 3 мог бы пригодиться doxigen. Это хоть как-то автоматизирует процесс в части струкутрного описания.

Для пункта 4 использовать LEC, чтобы избежать глупых ошибок.

 

Работа по освоению чужого кода долгая и довольно занудная. Естественно время зависит от вашего уровня понимания ЯОА, решаемой блоком задачи и необходимой глубины понимания кода. Но в любом случае, если каждый день делать пусть и маленький, но шаг, то вскоре будет повеселее, а потом и совсем быстро и весело.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>как быстро вникнуть в чужой код

Переписать все заново самому.

Изменено пользователем Amurak

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем здравствуйте и доброго времени суток!!!

Думается, что многие из читателей форума проходили этап, когда необходимо было перелопачивать и исправлять чужой код . С этой ситуацией столкнулся и я. Второй день тупо смотрю в монитор, стараясь понять в проекте, что откуда пришло и куда зашло, как где модифицировалось и что в итоге получилось.

Менеджерам на заметку...

А почему-бы и не научится документировать то что разрабатывается?

Деньги разработчику уплочены - значит и комплектность результатлов работы должна соответствовать - т.е. проект должен иметь документацию.

Тут скорее вопрос в какой форме и объёме документировать... Может чё посоветуют опытные люди по поводу именно документирования цифровых дизайнов...

 

-----

А как разобраться?

Допросом автора с пристрастием...

Если он уволен... Я начинаю с перезапуска тесбенчей на модули начиная с топа, пытаюсь понять как модуль работает по его коду.. хорошо когда есть коменты в стиле "это сделано для того-то, принцип работы такой-то", а не в стиле "это тригер для сигнала".

лутше в текстовом редакторе, а не на бумаге - поиск по именам помогает.

Плюс правильный симулятор может и код в виде логической схемы показывать и его иерархию....

опять-же в хорошем редакторе исходников видно иерархию проекта....

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Менеджерам на заметку...

А почему-бы и не научится документировать то что разрабатывается?

Деньги разработчику уплочены - значит и комплектность результатлов работы должна соответствовать - т.е. проект должен иметь документацию.

Тут скорее вопрос в какой форме и объёме документировать... Может чё посоветуют опытные люди по поводу именно документирования цифровых дизайнов...

 

-----

А как разобраться?

Допросом автора с пристрастием...

Если он уволен... Я начинаю с перезапуска тесбенчей на модули начиная с топа, пытаюсь понять как модуль работает по его коду.. хорошо когда есть коменты в стиле "это сделано для того-то, принцип работы такой-то", а не в стиле "это тригер для сигнала".

лутше в текстовом редакторе, а не на бумаге - поиск по именам помогает.

Плюс правильный симулятор может и код в виде логической схемы показывать и его иерархию....

опять-же в хорошем редакторе исходников видно иерархию проекта....

описание никто лучше не задокументирует, кроме самого разработчика, также как и программу - программист (мое мнение). Менеджеры могут "налить воды", отредактировать для лучшего понимания - но уже в готовом (мое мнение)...

про тестбенчи - это правильно, но у меня были случаи когда передавались описание/проект без тестбенчей.

Ответ разработчика был простой - не умею их (тестбенчи) писать и проверяю все осцилографом....

Наличие тестбенчей естественно ускоряет понимание чужого проекта/описания...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...