Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
missa1
Зарегистрирован: 03.04.2012 Сообщения: 4
|
Добавлено: Вт Апр 03 2012 23:14 Заголовок сообщения: Как разбираться в чужом коде? |
|
|
На Лукоморье есть какбы-забавная статья на эту тему, но мой вопрос в другом: как действительно разбираться в чужом коде?
Где можно узнать что-то по этой теме? Есть ли на Citforum какие-либо ресурсы об этом?
Спасибо |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
VeL
Зарегистрирован: 18.01.2006 Сообщения: 521 Откуда: Харьков
|
Добавлено: Чт Апр 05 2012 02:13 Заголовок сообщения: |
|
|
Как как, берешь и читаешь его, и разбираешься в нем исходя из своего опыта.
Все просто.
Больше опыта в программировании - быстрее понимаешь чужой код.
P.S. Вы бы хотя бы ссылку на эту статью привели, а то как то непонятно что имеется ввиду под этим _________________ Best regards |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
missa1
Зарегистрирован: 03.04.2012 Сообщения: 4
|
Добавлено: Чт Апр 05 2012 18:25 Заголовок сообщения: |
|
|
VeL писал(а): | P.S. Вы бы хотя бы ссылку на эту статью привели, а то как то непонятно что имеется ввиду под этим | Хе-хе, исходя из этого можно сделать вывод о ценности вашего совета. Она низкая.
В любом случае, спасибо. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
VeL
Зарегистрирован: 18.01.2006 Сообщения: 521 Откуда: Харьков
|
Добавлено: Пт Апр 06 2012 09:07 Заголовок сообщения: |
|
|
missa1 писал(а): | VeL писал(а): | P.S. Вы бы хотя бы ссылку на эту статью привели, а то как то непонятно что имеется ввиду под этим | Хе-хе, исходя из этого можно сделать вывод о ценности вашего совета. Она низкая.
В любом случае, спасибо. |
Совет был выше, а это уже послесловие, и заметьте, что это реальный совет, потому как тоже задавался таким вопросом. _________________ Best regards |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Пт Апр 06 2012 20:15 Заголовок сообщения: |
|
|
Вы и правда полагаете, что где-то учат на телепатов?
Да, где-то учат на критиков, которые высказывают свое мнение о деятельности других. Как правило это люди сами ничего не создают, но позвиздеть о тех, кто что-то создал - всегда пожалста.
Если вы действительно хотите научиться разбираться в чужом коде, вы должны либо обладать талантом, данным вам от природы (что дикая редкость), либо иметь большую собственную практику программирования. Других способов и вариантов я не знаю. Ума лопатой нигде не накладывают. Каждый ходит по жизни с своим совочком и по крупицам собирает.
Последний раз редактировалось: and3008 (Пт Апр 06 2012 22:44), всего редактировалось 1 раз |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
VeL
Зарегистрирован: 18.01.2006 Сообщения: 521 Откуда: Харьков
|
Добавлено: Пт Апр 06 2012 21:13 Заголовок сообщения: |
|
|
Может автор имел ввиду какие то навигаторы по коду? _________________ Best regards |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Пт Апр 06 2012 22:38 Заголовок сообщения: |
|
|
Не надо часто думать о том, что думают другие. Ваше предположение может быть неверным! )))
Можно предугадывать ход мыслей, если все играют примерно по одним правилам. Например поведение водителей на дороге, все едут примерно по ПДД.
Но наш случай - это не ПДД. Тут нет правил. ![Smile](images/smiles/icon_smile.gif) |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
missa1
Зарегистрирован: 03.04.2012 Сообщения: 4
|
Добавлено: Сб Апр 07 2012 20:41 Заголовок сообщения: |
|
|
Я не имел в виду навигаторы по коду. Я имел в виду достижение понимания текста незнакомого кода. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
DrumminMan
Зарегистрирован: 05.04.2012 Сообщения: 2
|
Добавлено: Пн Апр 09 2012 11:42 Заголовок сообщения: |
|
|
missa1 писал(а): | Я не имел в виду навигаторы по коду. Я имел в виду достижение понимания текста незнакомого кода. |
сугубо скилл и опыт. и эмпирика)) больше никак. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
tutryr
Зарегистрирован: 10.04.2012 Сообщения: 1
|
Добавлено: Вт Апр 10 2012 10:47 Заголовок сообщения: |
|
|
Как разработка, так и понимание чужого кода требуют ответа на 3 классических вопроса: Зачем, Что и Как.
Ответ на Зачем обычно можно получить из описания программы, ее интерфейса
С ответом на Что могут помочь еще структуры используемых программой данных и структура самой программы.
Ответ на Как требует изучения самого кода.
Анализ текста выполняется в несколько этапов
1. Изучения структуры программы
Для этого я копирую текст в текстовый редактор (обычно WORD в режиме Outline).
Удаляю из текста все лишнее, оставляя только описание и вызовы функций, а также операторы основной логики ( условия и циклы ).
В полученном тексте пытаюсь отделить главный скелет от вспомогательных функций.
2. Изучение данных и их продвижение по программе.
Для этого из описания определяю структуру данных, обычно уже это много говорит о возможных алгоритмах ее рбработки.
1. и 2. этапы должны дать ответ на вопрос "Что делает программы?". А точнее на целую иерархию этих вопросов.
3. Теперь зная ЧТО делает программа и отдельные ее модули и функции и приступаю к детальному изучение кода.
Причем при таком подходе обычно уже не требуется подробно изучать весь код. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
missa1
Зарегистрирован: 03.04.2012 Сообщения: 4
|
Добавлено: Чт Апр 12 2012 19:39 Заголовок сообщения: |
|
|
Уважаемый tutryr, спасибо за ответ. Он показался мне интересным.
Мое внимание привлек тот факт, что у вас всего одно-единственное сообщение на форуме. Позвольте узнать, как так совпало, что вы недавно зарегистрировались и ответили именно на мой вопрос? |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
|