How to understand the design and code flow of any product quickly? [closed]

20
задан s4y 9 March 2016 в 18:39
поделиться

5 ответов

Я работаю инженером по контракту, и такая ситуация повторяется несколько раз в год — последние несколько десятилетий.

Я считаю весьма полезным сначала запустить приложение и поиграть с ним, прежде чем смотреть какой-либо код:

  • Что, черт возьми, оно делает? При необходимости прочтите пользовательскую документацию.
  • Что произойдет с экстремальными значениями?
  • Что произойдет, если я пропущу некоторые значения?
  • Что произойдет, если я быстро нажму на элемент управления?
  • Можно ли использовать программу не по назначению?
  • Изучите края приложения: есть ли редко используемые или труднодоступные подменю? Есть ли средство настройки, которое предоставляет больше функциональных возможностей?

Пока я это делаю, я создаю ментальную модель того, как я бы это реализовал. Удивительно, но это ориентированное на пользователя первое знакомство с продуктом обычно приводит к тому, что мое понимание приложения оказывается на голову выше, чем у разработчиков, которые работали над ним долгое время. Побочным эффектом такого подхода является то, что я склонен находить довольно много ошибок (часто их довольно много) и думать о многих улучшениях, которые должны быть сделаны.

После этого я смотрю на общую структуру программы, будь то модули, классы, файлы или схема. Не глядя на отдельные строки кода, кроме тех, которые показывают архитектуру программы. Как только мне кажется, что я понимаю более половины структуры, я пытаюсь внести небольшое исправление или улучшение — что-то, что занимает несколько минут, чтобы написать, но может занять несколько часов, чтобы правильно понять. Если это сработает, я где-нибудь внесу чуть большее изменение, желательно в другой участок кода.

Таким образом, я нашел возможным достаточно хорошо понимать от 50 000 до 100 000 строк кода в день.

18
ответ дан 30 November 2019 в 00:35
поделиться

Ваш вопрос чем-то похож на эту тему

Может загляните в блог одного из соразработчик SO, у которого есть раздел «Новый разработчик» (кстати, это действительно забавно).

3
ответ дан 30 November 2019 в 00:35
поделиться

Способ, которым я всегда учился, помимо простого чтения кода/модели данных, заключается в том, чтобы начать исправлять некоторые ошибки. Это дает мне доступ к различным частям системы, а наличие «цели» при чтении кода делает его немного более значимым.

4
ответ дан 30 November 2019 в 00:35
поделиться

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

0
ответ дан 30 November 2019 в 00:35
поделиться

Есть инструменты, которые загружают исходный код и рисуют картинки. Попробуйте Enterprise Architect от Sparx. Это менее 200 долларов за место и очень эффективно покажет вам расположение объекта.

0
ответ дан 30 November 2019 в 00:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: