Образцы
Образец отчёта по практике программиста: структура и пример
Программисту на практике обычно есть что показать: задачи в системе учёта задач, изменения в репозитории, замечания на проверке кода. Проблема в другом — как превратить это в отчёт, который поймёт преподаватель, и не вынести за пределы компании то, что выносить нельзя. Исходный код, адреса серверов и данные клиентов в отчёт не попадают.
Ниже — каркас отчёта, примеры разделов о стеке, задачах, проверке кода и тестировании на условных данных и список того, что заменить своим. Проект и компания в примерах вымышленные.
Каркас отчёта программиста
| Раздел | Что в нём |
|---|---|
| Введение | Цель, задачи, база, сроки, роль практиканта в команде |
| Продукт, отдел разработки, роли, процесс работы |
| Языки, фреймворки, базы данных, система контроля версий |
| Перечень задач и подробное описание одной-двух |
| Как проходит проверка, какие тесты писал практикант |
| Заключение | Освоенные технологии и навыки, выводы |
| Список источников | Документация, учебная литература, стандарты |
| Приложения | Схемы, фрагменты учебного кода, скриншоты интерфейса без данных |
Пример введения
Введение программиста называет не только базу и сроки, но и роль в команде: стажёр, младший разработчик, тестировщик. Пример:
Производственная практика проходила с 1 по 26 июля в отделе разработки ООО «Пример» в роли стажёра-разработчика серверной части. Руководитель практики от организации — ведущий разработчик Иванов И. И.
Цель практики — получить опыт промышленной разработки в команде и закрепить навыки программирования, полученные при изучении профессиональных дисциплин. Задачи: изучить архитектуру сервиса и процесс разработки в команде; освоить работу с системой контроля версий и системой учёта задач; выполнить задачи по доработке и исправлению сервиса; написать автоматические тесты для одного из модулей.
Задачи сформулированы так, что каждой соответствует раздел отчёта, а результат можно проверить по истории задач.
Пример раздела о стеке и процессе работы
Стек описывают не списком модных слов, а с объяснением, что для чего используется. Пример:
Практика проходила в отделе разработки условной компании ООО «Пример», которая создаёт сервис онлайн-записи для небольших салонов и мастерских. Серверная часть написана на Python с использованием фреймворка Django, данные хранятся в PostgreSQL, клиентская часть — на JavaScript. Исходный код хранится в системе контроля версий Git, задачи ведутся в системе учёта задач.
Команда работает двухнедельными циклами: в начале цикла задачи распределяются на общей встрече, каждое утро проходит короткая встреча о ходе работы. Любое изменение кода перед объединением с основной веткой проходит проверку другим разработчиком и автоматические тесты.
Названия технологий пишут как есть, а процессы описывают по-русски: «проверка кода», «основная ветка», «цикл разработки».
Пример раздела о выполненных задачах
Перечень задач удобно дать таблицей, а одну задачу разобрать подробно.
| Задача | Тип | Результат |
|---|---|---|
| Добавить фильтр записей по мастеру на странице администратора | Новая функция | Принята после проверки, выпущена в работу |
| Исправить неверное отображение времени записи у клиентов из других часовых поясов | Исправление ошибки | Исправлено, добавлен тест |
| Написать тесты для модуля уведомлений | Тестирование | Покрыты основные сценарии |
| Обновить инструкцию по развёртыванию для новых сотрудников | Документация | Принята руководителем |
Подробнее о второй задаче. Клиенты из других часовых поясов видели время записи со сдвигом. Изучив код, я выяснил, что время сохранялось в базе без указания часового пояса и выводилось в часовом поясе сервера. Я изменил сохранение на время с часовым поясом и добавил преобразование при выводе в часовой пояс салона. Чтобы ошибка не вернулась, написал тест, который проверяет вывод времени для двух разных часовых поясов.
Такое описание показывает ход мысли: симптом, причина, решение, проверка.
Пример раздела о проверке кода и тестировании
Каждое моё изменение проверял наставник. Основные замечания касались именования переменных, длины функций и отсутствия обработки ошибок при обращении к внешнему сервису отправки сообщений. После второй недели замечаний стало заметно меньше: я начал проверять код по списку типичных замечаний перед отправкой на проверку.
Автоматические тесты запускаются при каждом изменении. За время практики я написал модульные тесты для модуля уведомлений и научился использовать подставные объекты вместо обращения к реальному сервису.
Замечания на проверке кода — хороший материал для отчёта: они показывают, чему вы научились, лучше любого перечня технологий.
Чего не должно быть в отчёте
Не всё, что вы видели на практике, можно переносить в отчёт. Перед сдачей покажите его наставнику от компании и спросите, что можно оставить. Если код нужен для иллюстрации, напишите учебный фрагмент, который показывает тот же приём.
- Исходного кода компании целиком или крупными фрагментами: он, как правило, составляет коммерческую тайну.
- Адресов серверов, паролей, ключей доступа, конфигурационных файлов.
- Скриншотов с реальными данными клиентов: имена, телефоны, записи.
- Названий внутренних систем и клиентов компании, если организация против.
- Перечня технологий, с которыми вы не работали, «для объёма».
Что заменить своим материалом
- Продукт, команду и процесс — по вашей компании.
- Стек — только технологии, с которыми работали вы.
- Задачи — из своей системы учёта задач, своими формулировками.
- Замечания на проверке кода — реальные, обобщённые до типов ошибок.
- Выводы — о том, что вы теперь умеете, с конкретными примерами.
Образец не является готовым отчётом и не подходит для сдачи. Компания, сервис и задачи условные; чужие задачи руководитель практики легко сверит с отзывом компании. Отзыв, подпись и печать выдаёт только организация, где вы проходили практику.
Вопросы и ответы
Можно ли проходить практику программиста удалённо?
Если это допускает положение о практике вашего учебного заведения и договор с организацией. Отчёт при этом строится так же.
Нужно ли вставлять код в отчёт?
Как правило, достаточно учебных фрагментов или схем. Код компании без разрешения организации вставлять нельзя.
Чем отчёт программиста отличается от отчёта по информационным системам?
Акцентом: здесь разработка и проверка кода, там чаще администрирование и сопровождение систем. Другие образцы — в разделе образцы отчётов.
Можно ли заказать отчёт по своим задачам?
Да, по вашему заданию и перечню задач. Условия — на странице заказать отчёт.