Skip to content

Instantly share code, notes, and snippets.

View pavlov200912's full-sized avatar
🐧

Vanya Pavlov pavlov200912

🐧
View GitHub Profile
@pavlov200912
pavlov200912 / report.md
Last active November 11, 2021 15:43
Отчет по проекту осень 2021

Comment Updater. Report Autumn 2021

Кто я? Что за проект

Я Ваня Павлов, студент 4-го курса Современного Программирования. Работаю над проектом Comment Updater под руководством Егора Богомолова и Зарины Курбатовой из JetBrains Research.

Цель проекта - написание инструмента для детектирования и обновления устаревших комментариев в коде.

Подробнее про задачу. Комментарии важная часть исходного кода. Разработчики рассчитывают на их коррекность при чтении кода, часто из них генерируется документация. Исследования показывают, что нередко разработчики забывают обновить комментарий нужным образом, после обновления кода. Такие оплошности приводят к проблемам с читаемостью и поддерживаемостью кода.

Пример из реального проекта:

@pavlov200912
pavlov200912 / report.md
Last active November 11, 2021 14:28
Отчет по проекту осень 2021

Comment Updater. Report Autumn 2020.

Про что проект?

Данные проект - попытка создать инструмент для определения comment inconsistency. Это ситуация, когда разработчик обновил код, но забыл обновить комментарий. Из-за таких несоответсвий усложняется читаемость и поддерживаемость кода.

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

С другой стороны, существующие решения, в основном описывают rule-based подход (Решение о том, что комментарий устарел принимается на основе эмпирически выведенных правил, например если тип функции поменялся, а в комментарии есть прямое указание типа - его точно нужно поменять). Такие алгоритмы часто имеют недостатки, например у них могут возникнуть трудности при использовании другого языка программирования, стилизации или языка комментария. Совсем недавно (Октябрь 2020) вышла новая статья, предлагающая использовать методы ма

@pavlov200912
pavlov200912 / report.md
Last active November 11, 2021 16:13
Отчет по проекту весна 2021

Comment Updater. Report Spring 2021.

Про что проект?

Данные проект - попытка создать инструмент для определения comment inconsistency. Это ситуация, когда разработчик обновил код, но забыл обновить комментарий. Из-за таких несоответсвий усложняется читаемость и поддерживаемость кода.

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

С другой стороны, существующие решения, в основном описывают rule-based подход (Решение о том, что комментарий устарел принимается на основе эмпирически выведенных правил, например если тип функции поменялся, а в комментарии есть прямое указание типа - его точно нужно поменять). Такие алгоритмы часто имеют недостатки, например у них могут возникнуть трудности при использовании другого языка программирования, стилизации или языка комментария. Хочется использовать для этой задачи машинное обучения. Статьи на эту тему есть, но

@pavlov200912
pavlov200912 / highload.md
Last active April 1, 2024 08:12
Конспект Проектирование Высоконагруженных систем 2021

package main

/* Билеты по Проектированию Высоко нагруженных систем

  • В этом конспекте нет автоматической грамматической проверки
  • Он написан для личного пользования, исключительно для подготовки к экзамену

RefactorInsight

Example 0

PROB: 0.53 (Found accidentally) commit

UNCHANGED:

/**
 * Returns the Refactoring Info parent of a node.
@pavlov200912
pavlov200912 / breakdowns.md
Last active February 28, 2021 13:59
BioInformatics BreakDowns

Chapter 3: (Session 1)

Curiosity questions:

  • Why biologists can't read whole genome sequence? Why can't they locate the reading region?

Breakdowns:

Chapter 5: (Session 2)

Breakdown:

@pavlov200912
pavlov200912 / .test
Created January 16, 2021 12:17
GIST created by ghgist
{"ghgist": {"settings": {"token": "test "}}}
@pavlov200912
pavlov200912 / kek
Created January 16, 2021 12:06
GIST created by ghgist
Python requests has 3 parameters: 1)Request URL
2)Header Fields
3)Parameter
4)Request body
@pavlov200912
pavlov200912 / python request module
Created January 16, 2021 11:38
GIST created by python code
Python requests has 3 parameters: 1)Request URL
2)Header Fields
3)Parameter
4)Request body
@pavlov200912
pavlov200912 / python request module
Created January 16, 2021 10:07
GIST created by python code
Python requests has 3 parameters: 1)Request URL
2)Header Fields
3)Parameter
4)Request body