Файл: Реферат по дисциплине мдк 03. 01 студент 170 группы по специальности Информационные системы и программирование.docx
Добавлен: 09.01.2024
Просмотров: 318
Скачиваний: 6
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Департамент образования и наукиХанты-мансийского автономного округа-ЮгрыБЮДЖЕТНОЕ УЧРЕЖДЕНИЕ ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯХАНТЫ-МАНСИЙСКОГО АВТОНОМНОГО ОКРУГА-ЮГРЫ«ИГРИМСКИЙ ПОЛИТЕХНИЧЕСКИЙ КОЛЛЕДЖ»Утилиты для Review обзор. Предпроцессинг кода. Интеграция в IDEРеферат по дисциплине МДК 03.01Выполнил: студент 170 группы по специальности Информационные системы и программированиеДмитриев МаксимИсполнитель: Дмитриев Максим ЕвгеньевичРуководитель: Рустам Пирали-оглы АлимовРабота представлена« _____» _____________ 2023 г.Оценка ____________Преподаватель _______________Игрим 2023СОДЕРЖАНИЕ
1.ЧТО ТАКОЕ CODE REVIEW
Code review - инженерная практика в терминах гибкой методологии разработки. Это анализ (инспекция) кода с целью выявить ошибки, недочеты, расхождения в стиле написания кода, в соответствии написанного кода и поставленной задачи.
К очевидным плюсам этой практики можно отнести:
Что можно инспектировать?Для ревью подходит любой код. Однако, review обязательно должно проводиться для критических мест в приложении (например: механизмы аутентификации, авторизации, передачи и обработки важной информации — обработка денежных транзакций и пр.).
Также для review подходят и юнит тесты, так как юнит тесты — это тот же самый код, который подвержен ошибкам, его нужно инспектировать также тщательно как и весь остальной код, потому что, неправильный тест может стоить очень дорого.2.КАК ПРОВОДИТЬ REVIEWВообще, ревью кода должен проводиться в совокупности с другими гибкими инженерными практиками: парное программирование, TDD, CI. В этом случае достигается максимальная эффективность ревью. Если используется гибкая методология разработки, то этап code review можно внести в Definition of Done фичи.Из чего состоит review?Сначала design review — анализ будущего дизайна (архитектуры). Данный этап очень важен, так как без него ревью кода будет менее полезным или вообще бесполезным (если программист написал код, но этот код полностью неверен — не решает поставленную задачу, не удовлетворяет требованиям по памяти, времени). Пример: программисту поставили задачу написать алгоритм сортировки массива. Программист реализовал алгоритм bogo-sort, причем с точки зрения качества кода — не придраться (стиль написания, проверка на ошибки), но этот алгоритм совершенно не подходит по времени работы. Поэтому ревью в данном случае бесполезно (конечно — это утрированный пример, но я думаю, суть ясна), здесь необходимо полностью переписывать алгоритм.Собственно, сам code review — анализ написанного кода. На данном этапе автору кода отправляются замечания, пожелания по написанному коду.Также очень важно определиться, за кем будет последнее слово в принятии финального решения в случае возникновения спора. Обычно, приоритет отдается тому, кто будет реализовывать код (как в scrum при проведении planning poker), либо специальному человеку, который отвечает за этот код (как в google — code owner). 3.КАКПРОВОДИТЬ DESIGN, CODE, PRE-COMMIT, POST-COMMITDesign review можно проводить за столом, в кругу коллег, у маркерной доски, в корпоративной wiki. На design review тот, кто будет писать код, расскажет о выбранной стратегии (примерный алгоритм, требуемые инструменты, библиотеки) решения поставленной задачи. Вся прелесть этого этапа заключается в том, что ошибка проектирования будет стоить 1-2 часа времени (и будет устранена сразу на review).
Можно проводить code review разными способами — дистанционно, когда каждый разработчик сидит за своим рабочим местом, и совместно — сидя перед монитором одного из коллег, либо в специально выделенным для этого месте, например meeting room. В принципе существует много способов (можно даже распечатать исходный код и вносить изменения на бумаге).Данный вид pre-commit review проводится перед внесением изменений в VCS. Этот подход позволяет содержать в репозитории только проверенный код. В microsoft используется этот подход: всем участникам review рассылаются патчи с изменениями. После того как собран и обработан фидбэк, процесс повторяется до тех пор, пока все ревьюверы не согласятся с изменениями.
Данный вид post-commit review проводится после внесения изменений в VCS. При этом можно коммитить как в основную ветвь, так и во временную ветку (а в основную ветку вливать уже проверенные изменения).4.РЕЗУЛЬТАТЫ REVIEWСамое главное при проведении review — это использование полученного результата. В результате review могут появиться следующие артефакты:
IDE (Integrated Development Environment) и редактор кода – это виды программного обеспечения, предназначенные для работы над приложениями, их разработки и тестирования. Возможности этих инструментов отличаются.Редактор кода является программой, работающей как текстовый редактор, только более подходящий для написания кода. IDE – это ПО, которое объединяет инструменты для разработки приложений и их тестирования в едином интерфейсе. Может делать все то, что и текстовый редактор, и даже больше. В принципе этим IDE и отличается от него, она предоставляет более расширенные функции. Среды разработки дают возможность создавать крупные проекты, а также подключать Git. Как правило, IDE состоит из:
Преимущества:
| ГЛАВА 1. Что такое code review…………………………………… | 3 |
| ГЛАВА 2. Как проводить review……………………………………… | 4 |
| ГЛАВА 3. как проводить design, code, pre-commit…………………. | 5 |
| ГЛАВА 4. результаты review………………………………………… | 6 |
| ГЛАВА 5. что нужно знать об ide и редакторах кода?………… | 7 |
| ГЛАВА 6. Какие ide и редакторы кода существуют сегодня?..... | 8 |
| ГЛАВА 7. препроцессинг кода…………………………………………. | 11 |
| | |
| Библиографический список……………………………………………. | 12 |
Code review - инженерная практика в терминах гибкой методологии разработки. Это анализ (инспекция) кода с целью выявить ошибки, недочеты, расхождения в стиле написания кода, в соответствии написанного кода и поставленной задачи.
К очевидным плюсам этой практики можно отнести:
-
Улучшается качество кода -
Находятся «глупые» ошибки (опечатки) в реализации -
Повышается степень совместного владения кодом -
Код приводится к единому стилю написания -
Хорошо подходит для обучения «новичков», быстро набирается навык, происходит выравнивание опыта, обмен знаниями.
Что можно инспектировать?Для ревью подходит любой код. Однако, review обязательно должно проводиться для критических мест в приложении (например: механизмы аутентификации, авторизации, передачи и обработки важной информации — обработка денежных транзакций и пр.).
Также для review подходят и юнит тесты, так как юнит тесты — это тот же самый код, который подвержен ошибкам, его нужно инспектировать также тщательно как и весь остальной код, потому что, неправильный тест может стоить очень дорого.2.КАК ПРОВОДИТЬ REVIEWВообще, ревью кода должен проводиться в совокупности с другими гибкими инженерными практиками: парное программирование, TDD, CI. В этом случае достигается максимальная эффективность ревью. Если используется гибкая методология разработки, то этап code review можно внести в Definition of Done фичи.Из чего состоит review?Сначала design review — анализ будущего дизайна (архитектуры). Данный этап очень важен, так как без него ревью кода будет менее полезным или вообще бесполезным (если программист написал код, но этот код полностью неверен — не решает поставленную задачу, не удовлетворяет требованиям по памяти, времени). Пример: программисту поставили задачу написать алгоритм сортировки массива. Программист реализовал алгоритм bogo-sort, причем с точки зрения качества кода — не придраться (стиль написания, проверка на ошибки), но этот алгоритм совершенно не подходит по времени работы. Поэтому ревью в данном случае бесполезно (конечно — это утрированный пример, но я думаю, суть ясна), здесь необходимо полностью переписывать алгоритм.Собственно, сам code review — анализ написанного кода. На данном этапе автору кода отправляются замечания, пожелания по написанному коду.Также очень важно определиться, за кем будет последнее слово в принятии финального решения в случае возникновения спора. Обычно, приоритет отдается тому, кто будет реализовывать код (как в scrum при проведении planning poker), либо специальному человеку, который отвечает за этот код (как в google — code owner). 3.КАКПРОВОДИТЬ DESIGN, CODE, PRE-COMMIT, POST-COMMITDesign review можно проводить за столом, в кругу коллег, у маркерной доски, в корпоративной wiki. На design review тот, кто будет писать код, расскажет о выбранной стратегии (примерный алгоритм, требуемые инструменты, библиотеки) решения поставленной задачи. Вся прелесть этого этапа заключается в том, что ошибка проектирования будет стоить 1-2 часа времени (и будет устранена сразу на review).
Можно проводить code review разными способами — дистанционно, когда каждый разработчик сидит за своим рабочим местом, и совместно — сидя перед монитором одного из коллег, либо в специально выделенным для этого месте, например meeting room. В принципе существует много способов (можно даже распечатать исходный код и вносить изменения на бумаге).Данный вид pre-commit review проводится перед внесением изменений в VCS. Этот подход позволяет содержать в репозитории только проверенный код. В microsoft используется этот подход: всем участникам review рассылаются патчи с изменениями. После того как собран и обработан фидбэк, процесс повторяется до тех пор, пока все ревьюверы не согласятся с изменениями.
Данный вид post-commit review проводится после внесения изменений в VCS. При этом можно коммитить как в основную ветвь, так и во временную ветку (а в основную ветку вливать уже проверенные изменения).4.РЕЗУЛЬТАТЫ REVIEWСамое главное при проведении review — это использование полученного результата. В результате review могут появиться следующие артефакты:
-
Описание способа решения задачи (design review) -
UML диаграммы (design review) -
Комментарии к стилю кода (code review) -
Более правильный вариант (быстрый, легко читаемый) реализации (design review, code review) -
Указание на ошибки в коде (забытое условие в switch, и т.д.) (code review) -
Юниттесты (design review, code review)
-
Сроки проекта. -
Лень, забывчивость разработчиков -
Отсутствие удобного механизма внесения изменений review, а также контроль внесения этих изменений.
-
Создание ветви в VCS, из которой изменения вливаются в основную ветвь только после review -
Запрет сборки дистрибутива на CI сервере без проведения review. Например, при сборке дистрибутива проверять специальные свойства (svn: properties), либо специальный файл с результатами review. И отказывать в сборке дистрибутива, если не все ревьюверы одобрили (approve) код.
IDE (Integrated Development Environment) и редактор кода – это виды программного обеспечения, предназначенные для работы над приложениями, их разработки и тестирования. Возможности этих инструментов отличаются.Редактор кода является программой, работающей как текстовый редактор, только более подходящий для написания кода. IDE – это ПО, которое объединяет инструменты для разработки приложений и их тестирования в едином интерфейсе. Может делать все то, что и текстовый редактор, и даже больше. В принципе этим IDE и отличается от него, она предоставляет более расширенные функции. Среды разработки дают возможность создавать крупные проекты, а также подключать Git. Как правило, IDE состоит из:
-
самого текстового редактора для написания и редактирования кода; -
компилятора – инструмента, позволяющего перевести текст, написанный на языке программирования, в набор машинных кодов; -
отладчика, проверяющего код и устраняющего в нем ошибки; -
инструментов для автоматизации сборки кода, ускоряющих процесс разработки.
Преимущества:
-
постоянно расширяющийся магазин дополнений, предоставляющий надстройки для расширения возможностей взаимодействия с IDE; -
встроенная технология автозавершения кода IntelliSense; -
возможности для командной работы: управление доступами к проекту, полностью настраиваемые параметры редактора;
-
отсутствие возможности работы на Linux ОС; -
это достаточно тяжеловесная среда. Если у вас нет необходимости разрабатывать консольные приложения, то можно рассмотреть более подходящий редактор кода.
-
автозавершение кода, автопоиск и исправление ошибок в коде; -
поддержка сред для веб-разработки Django, Flask, Google App Engine, Pyramid и web2py; -
интеграция с системами контроля версий; -
интеграция с Jupyter Notebook, Anaconda и другими библиотеками; -
отладчик, профилировщик Python, встроенные терминал и инструменты баз данных.
-
версия Community не поддерживает многие инструменты, нет профилировщика Python и поддержки баз данных; -
отсутствует возможность оплаты Professional версии в России.