|
Труд вопреки насмешкам
|
|
DuplicateFinder Preview 1.019.10.2020, 22:03. Показов 6621. Ответов 60
Метки нет (Все метки)
Как известно, самая главная проблема "грязного" кода - необходимость обновлять множество дубликатов одного и того же фрагмента. И бОльшая часть улучшений в хороших языках посвящены борьбе с дублированием. Но чтобы этими улучшениями воспользоваться, нужно сначала это дублирование найти. А при запросе в Google "поиск дублирования в коде программа" я не нашел ничего внятного. Большинство таких "программ" либо являются плагинами для конкретной IDE, либо их нельзя нормально установить, либо они содержат кучу ненужного функционала и стоят десятки, а то и сотни долларов. Поэтому я решил создать свою программу для поиска дублирования в коде, изолированную от IDE, запускаемую двойным кликом по исполняемому файлу в WinRAR и производящую только поиск дублирования и ничего другого.
Важно: я не собираюсь зарабатывать на этой программе. Она бесплатна, и создана для облегчения жизни программистам. Преимущества: 1. Работает ![]() 2. Основана на самом известном алгоритме поиска повторов - Лемпеле-Зиве. 3. Обнаруживает только повторы длиной не меньше 6 лексем. 4. Длина словаря составляет 5000 лексем. 5. Обнаруживает даже частично повторяющиеся фрагменты! 6. Игнорирует тривиальные фрагменты, такие как одно свойство из нескольких лексем или вызов метода плюс-минус число. 7. Показывает, на каких строках и в каких позициях находятся дубликаты. 8. Показывает начало повторяющегося фрагмента кода и конкретные отличия. 9. Показывает текущую позицию в окне кода. 10. Остутствие привязки к ключевым словам конкретного языка. Работает для всех Си-подобных языков, а возможно, и для каких-то других. 11. Можно изменять размер окна. 12. Вычисления выполняются в отдельном потоке. 13. Минимум пересоздания строк вследствие конкатенации, что приводит к приемлемому времени работы даже на длинных кодах. 14. На случай длинного кода припасены полосы загрузки. Но, как правило, дубликаты находятся моментально. 15. Программа не содержит ненужного функционала, весит немного и не требует сложной настройки. Недостатки: 1. Иногда сообщает о дублировании, которое нельзя устранить. 2. Вследствие приемущества 10, может посчитать последовательность ключевых слов как дубликат. 3. Обнаруживает только первую тривиальную длину. Если она маленькая, а есть больше, может ошибочно посчитать дубликат нетривиальным и выдать сообщение, что это проблема. 4. В выводимых фрагментах кода не сохраняет его пробельную структуру. 5. Не обнаруживает повторяющиеся комментарии. 6. Может включить в дубликат точку с запятой и перевод строки. 7. Не разбирается в том, класс это, функция, или что-либо другое. 8. Не показывает длину выделения в окне кода, только его начало. 9. Вероятно, потребляет больше памяти, чем можно было бы. Ну как, нормально?
1
|
|
| 19.10.2020, 22:03 | |
|
Ответы с готовыми решениями:
60
preview - next Настройка preview Taskbar Preview |
|
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
|
| 11.12.2021, 20:57 | |
|
0
|
|
| 11.12.2021, 20:57 | |
|
Preview Panel Preview Pane Вывод preview
Получить preview картинок Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|