реклама на сайте
подробности

 
 
5 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> как быстро вникнуть в чужой код, советы по скоростному освоению чужой программы
egorman44
сообщение Jul 17 2014, 19:23
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 141
Регистрация: 22-11-12
Из: Нижний Новгород
Пользователь №: 74 507



Всем здравствуйте и доброго времени суток!!!
Думается, что многие из читателей форума проходили этап, когда необходимо было перелопачивать и исправлять чужой код . С этой ситуацией столкнулся и я. Второй день тупо смотрю в монитор, стараясь понять в проекте, что откуда пришло и куда зашло, как где модифицировалось и что в итоге получилось. Сначала смотрел описание девайсины, потом начал читать про протоколы используемые в ней, параллельно заглядывая в код. Голова под конец вечера была полна мути, а состоянии напоминало состоянии прострации. Накопленный стресс приходилось снимать вечерними пробежками и маханиями руками по воздуху biggrin.gif
Хотя сегодня ,когда заглянул в RTL viewer, после того как скомпилил проект, дело пошло гораздо веселее, но все же, может есть у кого пара тройка дельных советов по тому как быстро попробовать проглотить кем то написанный проект ?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jul 17 2014, 22:29
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 186
Регистрация: 17-02-06
Пользователь №: 14 454



только заставить его писать код в едином с вами стиле, возможно корпаративными правилами. Также здорово помогают комментарии. Более методик разбора вроде как нет, найти верхний модуль и потихонечку спускаться в глубину.
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 18 2014, 00:19
Сообщение #3


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 222
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Golikov A. @ Jul 18 2014, 06:29) *
Более методик разбора вроде как нет, найти верхний модуль и потихонечку спускаться в глубину.

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

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


--------------------
Go to the top of the page
 
+Quote Post
eugen_pcad_ru
сообщение Jul 18 2014, 03:22
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 627
Регистрация: 15-11-07
Пользователь №: 32 353



Быстро?.. Никак. Я тоже так делаю.
P.S.: Может быть только у гениев свои пути


--------------------
Правильно сформулированый вопрос содержит в себе половину ответа.
P.S.: Некоторые модераторы в качестве ответа так навязчиво предлагают посетить свой сайт, что иначе как саморекламу такие действия интерпретировать сложно.
Go to the top of the page
 
+Quote Post
egorman44
сообщение Jul 18 2014, 06:19
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 141
Регистрация: 22-11-12
Из: Нижний Новгород
Пользователь №: 74 507



Цитата(Golikov A. @ Jul 18 2014, 01:29) *
Также здорово помогают комментарии.


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

Цитата(Golikov A. @ Jul 18 2014, 01:29) *
найти верхний модуль и потихонечку спускаться в глубину.


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

Цитата(des00 @ Jul 18 2014, 03:19) *
+ голова, каранадаш и стопка бумаги.


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

Цитата(eugen_pcad_ru @ Jul 18 2014, 06:22) *
Быстро?.. Никак.


это конечно жаль, знать будем сидеть и въезжать по-тихоньку biggrin.gif
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Jul 18 2014, 06:26
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 756
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(des00 @ Jul 18 2014, 04:19) *
вьедите
Это сделало мой день!
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 18 2014, 06:42
Сообщение #7


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 222
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(andrew_b @ Jul 18 2014, 13:26) *
Это сделало мой день!

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


--------------------
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Jul 18 2014, 07:18
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 756
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(des00 @ Jul 18 2014, 10:42) *
Ошибся в знаке, каюсь. надо было через твердый знак писать эту сущность sm.gif
Если бы только это. Там на самом деле две ошибки. В одном-то слове.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jul 18 2014, 07:24
Сообщение #9


Гуру
******

Группа: Модераторы
Сообщений: 3 526
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(egorman44 @ Jul 17 2014, 23:23) *
у как быстро попробовать проглотить кем то написанный проект ?


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


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 18 2014, 07:34
Сообщение #10


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 222
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(andrew_b @ Jul 18 2014, 14:18) *
Если бы только это. Там на самом деле две ошибки. В одном-то слове.

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


--------------------
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Jul 18 2014, 09:33
Сообщение #11


ʕʘ̅͜ʘ̅ʔ
****

Группа: Свой
Сообщений: 972
Регистрация: 3-05-05
Пользователь №: 4 691



По существу вопроса. Помогает:
1. Вступить в коммуникацию с разработчиком. Предварительно следует оценить "кредит глупых вопросов".
2. Самому комментировать код
3. Имея RTL, самому сделать документацию к блоку. Хотя бы на уровне: спецификация - функциональное описание - струкутрное описание.
4. Самому модифицировать код и даже структуру в соответствии со своим пониманием функционирования блока и/или его отдельных узлов

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

Работа по освоению чужого кода долгая и довольно занудная. Естественно время зависит от вашего уровня понимания ЯОА, решаемой блоком задачи и необходимой глубины понимания кода. Но в любом случае, если каждый день делать пусть и маленький, но шаг, то вскоре будет повеселее, а потом и совсем быстро и весело.
Go to the top of the page
 
+Quote Post
virtual9900
сообщение Jul 18 2014, 11:13
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 153
Регистрация: 22-09-09
Из: Петергоф
Пользователь №: 52 521



Цитата(des00 @ Jul 18 2014, 04:19) *
+ голова, каранадаш и стопка бумаги.

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

+99
Go to the top of the page
 
+Quote Post
Amurak
сообщение Jul 18 2014, 11:56
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 155
Регистрация: 18-11-12
Пользователь №: 74 459



>как быстро вникнуть в чужой код
Переписать все заново самому.

Сообщение отредактировал Amurak - Jul 18 2014, 11:57
Go to the top of the page
 
+Quote Post
Torpeda
сообщение Jul 18 2014, 13:00
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 23-02-12
Пользователь №: 70 424



Цитата(egorman44 @ Jul 17 2014, 22:23) *
Всем здравствуйте и доброго времени суток!!!
Думается, что многие из читателей форума проходили этап, когда необходимо было перелопачивать и исправлять чужой код . С этой ситуацией столкнулся и я. Второй день тупо смотрю в монитор, стараясь понять в проекте, что откуда пришло и куда зашло, как где модифицировалось и что в итоге получилось.

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

-----
А как разобраться?
Допросом автора с пристрастием...
Если он уволен... Я начинаю с перезапуска тесбенчей на модули начиная с топа, пытаюсь понять как модуль работает по его коду.. хорошо когда есть коменты в стиле "это сделано для того-то, принцип работы такой-то", а не в стиле "это тригер для сигнала".
лутше в текстовом редакторе, а не на бумаге - поиск по именам помогает.
Плюс правильный симулятор может и код в виде логической схемы показывать и его иерархию....
опять-же в хорошем редакторе исходников видно иерархию проекта....
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jul 18 2014, 13:54
Сообщение #15


я только учусь...
******

Группа: Модераторы
Сообщений: 3 292
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(Torpeda @ Jul 18 2014, 16:00) *
Менеджерам на заметку...
А почему-бы и не научится документировать то что разрабатывается?
Деньги разработчику уплочены - значит и комплектность результатлов работы должна соответствовать - т.е. проект должен иметь документацию.
Тут скорее вопрос в какой форме и объёме документировать... Может чё посоветуют опытные люди по поводу именно документирования цифровых дизайнов...

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

описание никто лучше не задокументирует, кроме самого разработчика, также как и программу - программист (мое мнение). Менеджеры могут "налить воды", отредактировать для лучшего понимания - но уже в готовом (мое мнение)...
про тестбенчи - это правильно, но у меня были случаи когда передавались описание/проект без тестбенчей.
Ответ разработчика был простой - не умею их (тестбенчи) писать и проверяю все осцилографом....
Наличие тестбенчей естественно ускоряет понимание чужого проекта/описания...


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post

5 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd June 2017 - 01:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.01471 секунд с 7
ELECTRONIX ©2004-2016