Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Как разбираться в чужом коде?

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
missa1



Зарегистрирован: 04.04.2012
Сообщения: 4

СообщениеДобавлено: Ср Апр 04 2012 00:14    Заголовок сообщения: Как разбираться в чужом коде? Ответить с цитатой

На Лукоморье есть какбы-забавная статья на эту тему, но мой вопрос в другом: как действительно разбираться в чужом коде?

Где можно узнать что-то по этой теме? Есть ли на Citforum какие-либо ресурсы об этом?

Спасибо
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
VeL



Зарегистрирован: 18.01.2006
Сообщения: 521
Откуда: Харьков

СообщениеДобавлено: Чт Апр 05 2012 03:13    Заголовок сообщения: Ответить с цитатой

Как как, берешь и читаешь его, и разбираешься в нем исходя из своего опыта.

Все просто.
Больше опыта в программировании - быстрее понимаешь чужой код.

P.S. Вы бы хотя бы ссылку на эту статью привели, а то как то непонятно что имеется ввиду под этим
_________________
Best regards
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
missa1



Зарегистрирован: 04.04.2012
Сообщения: 4

СообщениеДобавлено: Чт Апр 05 2012 19:25    Заголовок сообщения: Ответить с цитатой

VeL писал(а):
P.S. Вы бы хотя бы ссылку на эту статью привели, а то как то непонятно что имеется ввиду под этим
Хе-хе, исходя из этого можно сделать вывод о ценности вашего совета. Она низкая.

В любом случае, спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
VeL



Зарегистрирован: 18.01.2006
Сообщения: 521
Откуда: Харьков

СообщениеДобавлено: Пт Апр 06 2012 10:07    Заголовок сообщения: Ответить с цитатой

missa1 писал(а):
VeL писал(а):
P.S. Вы бы хотя бы ссылку на эту статью привели, а то как то непонятно что имеется ввиду под этим
Хе-хе, исходя из этого можно сделать вывод о ценности вашего совета. Она низкая.

В любом случае, спасибо.


Совет был выше, а это уже послесловие, и заметьте, что это реальный совет, потому как тоже задавался таким вопросом.
_________________
Best regards
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
and3008



Зарегистрирован: 12.10.2001
Сообщения: 14893
Откуда: Н.Новгород

СообщениеДобавлено: Пт Апр 06 2012 21:15    Заголовок сообщения: Ответить с цитатой

Вы и правда полагаете, что где-то учат на телепатов?
Да, где-то учат на критиков, которые высказывают свое мнение о деятельности других. Как правило это люди сами ничего не создают, но позвиздеть о тех, кто что-то создал - всегда пожалста.

Если вы действительно хотите научиться разбираться в чужом коде, вы должны либо обладать талантом, данным вам от природы (что дикая редкость), либо иметь большую собственную практику программирования. Других способов и вариантов я не знаю. Ума лопатой нигде не накладывают. Каждый ходит по жизни с своим совочком и по крупицам собирает.


Последний раз редактировалось: and3008 (Пт Апр 06 2012 23:44), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
VeL



Зарегистрирован: 18.01.2006
Сообщения: 521
Откуда: Харьков

СообщениеДобавлено: Пт Апр 06 2012 22:13    Заголовок сообщения: Ответить с цитатой

Может автор имел ввиду какие то навигаторы по коду?
_________________
Best regards
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
and3008



Зарегистрирован: 12.10.2001
Сообщения: 14893
Откуда: Н.Новгород

СообщениеДобавлено: Пт Апр 06 2012 23:38    Заголовок сообщения: Ответить с цитатой

Не надо часто думать о том, что думают другие. Ваше предположение может быть неверным! Smile)))

Можно предугадывать ход мыслей, если все играют примерно по одним правилам. Например поведение водителей на дороге, все едут примерно по ПДД.

Но наш случай - это не ПДД. Тут нет правил. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
missa1



Зарегистрирован: 04.04.2012
Сообщения: 4

СообщениеДобавлено: Сб Апр 07 2012 21:41    Заголовок сообщения: Ответить с цитатой

Я не имел в виду навигаторы по коду. Я имел в виду достижение понимания текста незнакомого кода.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DrumminMan



Зарегистрирован: 05.04.2012
Сообщения: 2

СообщениеДобавлено: Пн Апр 09 2012 12:42    Заголовок сообщения: Ответить с цитатой

missa1 писал(а):
Я не имел в виду навигаторы по коду. Я имел в виду достижение понимания текста незнакомого кода.

сугубо скилл и опыт. и эмпирика)) больше никак.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
tutryr



Зарегистрирован: 10.04.2012
Сообщения: 1

СообщениеДобавлено: Вт Апр 10 2012 11:47    Заголовок сообщения: Ответить с цитатой

Как разработка, так и понимание чужого кода требуют ответа на 3 классических вопроса: Зачем, Что и Как.

Ответ на Зачем обычно можно получить из описания программы, ее интерфейса
С ответом на Что могут помочь еще структуры используемых программой данных и структура самой программы.
Ответ на Как требует изучения самого кода.

Анализ текста выполняется в несколько этапов

1. Изучения структуры программы
Для этого я копирую текст в текстовый редактор (обычно WORD в режиме Outline).
Удаляю из текста все лишнее, оставляя только описание и вызовы функций, а также операторы основной логики ( условия и циклы ).

В полученном тексте пытаюсь отделить главный скелет от вспомогательных функций.

2. Изучение данных и их продвижение по программе.
Для этого из описания определяю структуру данных, обычно уже это много говорит о возможных алгоритмах ее рбработки.

1. и 2. этапы должны дать ответ на вопрос "Что делает программы?". А точнее на целую иерархию этих вопросов.

3. Теперь зная ЧТО делает программа и отдельные ее модули и функции и приступаю к детальному изучение кода.

Причем при таком подходе обычно уже не требуется подробно изучать весь код.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
missa1



Зарегистрирован: 04.04.2012
Сообщения: 4

СообщениеДобавлено: Чт Апр 12 2012 20:39    Заголовок сообщения: Ответить с цитатой

Уважаемый tutryr, спасибо за ответ. Он показался мне интересным.

Мое внимание привлек тот факт, что у вас всего одно-единственное сообщение на форуме. Позвольте узнать, как так совпало, что вы недавно зарегистрировались и ответили именно на мой вопрос?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 4
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...