Инструменты и лучшие практики для понимания чьего-либо [закрытого] кода

Мы столкнулись с той же проблемой, и мы были ограничены, потому что соединение от пула имеет начальное значение DefaultMaxPerRoute как 2. Наш был API, который запустит различные вызовы с тем же URI, но, другое тело. Как только мы устанавливаем его явно на более высокое значение как это

PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
    cm.setMaxTotal(40);
    cm.setDefaultMaxPerRoute(20);

, мы смогли разрешить его.

5
задан Daniel Brose 29 July 2015 в 07:27
поделиться

5 ответов

Я уже был в такой ситуации ... Это не очень весело. Лучший способ, который я нашел, - это написать модульные тесты, чтобы охватить области, которые будут изменены. Даже если тесты уже существуют, это дает вам опыт как с API, так и с поведением кода, который вы собираетесь реорганизовать. Кроме того, вы получаете больше тестов для проверки реализации замены.

1
ответ дан 15 December 2019 в 06:31
поделиться

Обычно я делю такие запросы на 2 группы:

  1. Исправляйте ошибку, а не весь код. В этом случае я бы предпочел прочитать код и посмотреть, смогу ли я легко внести исправление, не внося серьезных изменений, например, добавляя 5 строк кода или меньше. Здесь внесенные изменения подобны хирургическому вмешательству, оказывающему минимальное влияние на достижение желаемого результата.

  2. Разорвите код и вставьте гораздо лучший материал. В этом случае нет хорошего способа внести изменение или есть много небольших изменений, которые нужно объединить в мини-проект, где требуется переваривание всего кода, и это не быстрое незначительное изменение . В качестве примера можно взять сайт ASP и поместить его в последнюю версию .Net.

1
ответ дан 15 December 2019 в 06:31
поделиться

Проверьте nWire . Это плагин Eclipse, в настоящее время для Java и PHP, который анализирует ваш код и предлагает инструменты для исследования кода, визуализации и поиска. Инструмент предназначен для понимания ассоциаций в вашем коде: иерархии классов, вызовов, экземпляров и почти всего остального.

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

1
ответ дан 15 December 2019 в 06:31
поделиться

Вы ищете структуру высокого уровня, такую ​​как модули, пространства имен и дизайн классов? Или вы пытаетесь понять внутреннее устройство классов, например, как работают определенные строки кода? Это два разных вида инструментов анализа.

0
ответ дан 15 December 2019 в 06:31
поделиться

В некоторой степени зависит от платформы, но ReSharper отлично подходит для выявления скрытого смысла кода .NET. Мне нравится функция «Расширенный поиск использования», где вы можете искать наборы, наборы, реализации и т. Д.

0
ответ дан 15 December 2019 в 06:31
поделиться
Другие вопросы по тегам:

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