15
Подсказчик примеров кода Родионова Дарья Приходько Станислав Руководитель: Линский Е.М.

Подсказчик примеров кода. Презентация участников

Embed Size (px)

Citation preview

Page 1: Подсказчик примеров кода. Презентация участников

Подсказчик примеров кода

Родионова Дарья Приходько Станислав

Руководитель: Линский Е.М.

Page 2: Подсказчик примеров кода. Презентация участников

Как это обычно работает?

2/15

Page 3: Подсказчик примеров кода. Презентация участников

IDE

Как это работает у нас!

ищем примеры

с strtok() ...

показываем результаты

в браузере

Почему C?

Потому что он

простой! :)

Google Chrome

Examples of function “strtok” from stackoverflow

...Source Code

http://stackoverflow.com/ token = strtok(input, “\n”);

while (token != NULL) {

token = strtok(NULL,

“\n”);

}

вызываем

из IDE

нашу

утилиту

3/15

Page 4: Подсказчик примеров кода. Презентация участников

Архитектура проекта

4/15

Page 5: Подсказчик примеров кода. Презентация участников

Информация о сайтах с примерами

Web Site Has API Result Type Has Resolved

cplusplus.com - HTML hand-made

cppreference.com - HTML hand-made

github.com - JSON with HTML API of searchcode.com

bitbucket.org - JSON with HTML API of searchcode.com

stackoverflow.com + JSON with HTML API of stackexchange.com

5/15

Page 6: Подсказчик примеров кода. Презентация участников

Выделение примеров

6/15

Вырезаем теги

Извлекаем

фрагмент

кода

Page 7: Подсказчик примеров кода. Презентация участников

Слишком

долго :(

Выход есть! :)

+Multithreading

Поиск по сайтам

7/15

Page 8: Подсказчик примеров кода. Презентация участников

Взаимодействие компонент

8/15

Page 9: Подсказчик примеров кода. Презентация участников

Отображение результатов в браузере

9/15

Page 10: Подсказчик примеров кода. Презентация участников

Окно с настройками

10/15

Page 11: Подсказчик примеров кода. Презентация участников

Дубликатор

• Много примеров (~ 100)

• Надо оставить мало (~ 10)

Идеи:

• Короткие лучше длинных

• Убираем “похожие”

11/15

Page 12: Подсказчик примеров кода. Презентация участников

Похожие примеры

12/15

Page 13: Подсказчик примеров кода. Презентация участников

Нужно определить “похожесть”

Статистика: находит 5 дубликатов из 25 примеров (~ 20% примеров отсекается)13/15

Page 14: Подсказчик примеров кода. Презентация участников

Форматтер

• Eclipse cdt

o выдает ошибку на некоторых примерах

• AStyle

o платформозависимый14/15

Page 15: Подсказчик примеров кода. Презентация участников

https://github.com/PrikhodkoStanislav/CodeExamplesSearcher

15/15