@AndySpot

Как разобраться в архитектуре чужого приложения?

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

Нет я могу разобраться в как работает определенная функция, понять структуру класса и все такое прочее, но я не представляю, как например человек приходящий в новую компанию поступает, чтобы разобраться в функционировании вверенного ему проекта. Или приходя писать опен сорс код.

Меня пугает что я не вижу общей картины приложения.

Это сотни или тысячи файлов, миллионы строк кода. Естественно никто наверно не читает каждый из файлов, но как тогда люди разбирают архитектуру приложения?
  • Вопрос задан
  • 240 просмотров
Пригласить эксперта
Ответы на вопрос 3
tema_sun
@tema_sun
Несколько месяцев - это ничто. Продолжайте обучение.

Но вообще никто не читает код просто так, как книгу. Обычно ты получаешь задание решить какую-то проблему, находишь точку входа в эту проблему и дальше "разматываешь" код до места возникновения проблемы. Другой разговор, что для этого бывает необходимо половину проекта перелопатить.
Ответ написан
OnYourLips
@OnYourLips
Это только опыт: вы встречали подобное в прошлом, умеете понимать основные архитектурные паттерны, разбираетесь в различных уровнях приложения и связях между ними.
Ответ написан
@kiru
Аналитик
Приветствую
Как вариант, развитие понимание архитектуры приложения:
1. Если вы разбираетесь, что такое наследование и т.д. из ООП, то скачиваете архив с кодом приложения из github: а) вначале приложение с тематикой вам знакомого, пример приложение планировщик, чата и т.д., б) затем приложение уже посложнее.
2. Открываете программу для визуализации кода в диаграмму, к примеру interprise architector и т.д.
3а. Разбираетесь с указанным в п.1. приложением на полученной диаграмме. Изучаете, что откуда и на что ссылается. Гуглите, если чтото непонятно. Читаете приложенное описание к проге.
3б. Изучаете сам код.
4. Ответьте себе, почему разработчик именно так сделал? Что можно лучше сделать?
5а. Напишите свои вопросы разработчику, (если разработчики из другой страны, то если вы английский не знаете - гугл переводчик в помощь), можно те же вопросы задать, к примеру, почему он так сделал? и т.д. Часто отвечают.
5б. Поищите в интеренете, может есть статьи с описанием этого приложения, в т.ч. и его архитектуры и т.д.
6. Почитать книги по архитектуре.
И так "очень много" приложений разобрать. Понимание придет, по крайне мере опыта наберетесь.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы