Przeglądaj źródła

Merge branch 'master' of http://213.155.192.79:3001/ypv/ISRPO

ypv 3 tygodni temu
rodzic
commit
9df9e8dff9

BIN
Лекции/IDE/LSP.png


+ 6 - 6
Лекции/IDE/Вопросы Курманаев.md

@@ -1,15 +1,15 @@
-### Вопросы к лекции:
-   1.**Какую роль играет абстрактное синтаксическое дерево в работе инструментов автоматического рефакторинга?**
+
+   Какую роль играет абстрактное синтаксическое дерево в работе инструментов автоматического рефакторинга?
    AST предоставляет структурированное семантическое представление кода, позволяя инструментам программно изменять структуру программы без риска нарушения её синтаксической целостности.
    
-   2.**Каким образом протокол LSP упрощает создание и поддержку новых языков программирования в различных средах разработки?**
+   Каким образом протокол LSP упрощает создание и поддержку новых языков программирования в различных средах разработки?
    LSP стандартизирует протокол общения между IDE и языковым сервером, позволяя реализовать функциональность языка один раз и использовать её в любом совместимом редакторе.
    
-   3.**Почему процесс индексации проекта является наиболее ресурсозатратной операцией в работе IDE?**
+   Почему процесс индексации проекта является наиболее ресурсозатратной операцией в работе IDE?
    Индексация требует выполнения глубокого синтаксического анализа всех файлов и построения глобальных карт зависимостей, что максимально нагружает процессор и подсистему ввода-вывода.
    
-   4.**В чем заключается основное преимущество статического анализа кода перед динамическим тестированием?**
+   В чем заключается основное преимущество статического анализа кода перед динамическим тестированием?
    Статический анализ способен обнаруживать потенциальные дефекты и уязвимости во всех ветках программного кода без необходимости подготовки тестовых данных и фактического запуска приложения.
    
-   5.**Как инкрементальный парсинг помогает поддерживать высокую производительность IDE при редактировании больших файлов?**
+   Как инкрементальный парсинг помогает поддерживать высокую производительность IDE при редактировании больших файлов?
    Этот механизм пересчитывает только те узлы синтаксического дерева, которые непосредственно затронуты изменениями, минимизируя вычислительные затраты при каждом вводе символа.

+ 1 - 0
Лекции/IDE/Курманаев.md

@@ -12,5 +12,6 @@
 | Отладчик (Debugger) | Интеграция с подсистемами исполнения кода | Визуализация состояния памяти и пошаговое выполнение |
 | Системы сборки | Интеграция с Gradle, Maven, MSBuild | Автоматизация компиляции и управления артефактами |
 Производительность IDE напрямую зависит от эффективности механизмов --индексации--. При открытии проекта среда сканирует файлы и строит индексы символов, что требует значительных ресурсов CPU и RAM. Оптимизация этого процесса достигается за счет использования --инкрементального парсинга--, при котором перестраиваются только те ветви AST, которые затронуты изменениями в конкретной строке кода. Это позволяет сохранять отзывчивость интерфейса даже в монорепозиториях с миллионами строк кода.
+![LSP](LSP.png)
 
 Современные IDE также активно внедряют механизмы машинного обучения для предсказания следующего токена кода, что превращает их из инструментов редактирования в интеллектуальных ассистентов. Таким образом, качественная IDE — это сложный аналитический инструмент, который переносит часть работы по верификации логики программы с этапа выполнения на этап написания кода.