GithubHelp home page GithubHelp logo

DuploQ - GUI for finding duplicates in source files

Download DuploQ

Download DuploQ

DuploQ is a GUI frontend for Duplo duplicate finder console tool. Its goal is to find duplicates (i.e. copy-pasted parts of code) across several source files.

Locating and eliminating source code duplicates is an important part of the overall refactoring process which leads to decreasing a project's technical dept and increasing stability of the software.

duploq-0 1-linux-1

Supported languages

Currently DuploQ directly supports C, C++, C#, Java and JavaScript languages, but it can be used for other languages as well.

Supported platforms

Currently, Microsoft Windows and Linux platforms are supported.

Since DuploQ is based on Qt C++ framework, it can easily be ported across several platforms.

Installation

DuploQ could be either compiled & installed from sources or by installer program (Windows) or package manager (Linux).

Binaries

The latest binaries can be downloaded from releases page.

Sources

To install DuploQ from sources:

  1. Make sure that you have Qt framework and C++ compiler installed on your system.
  2. Download and extract source code package in a directory where it has to be built (let's name it SOURCE_DIR).
  3. Go into SOURCE_DIR/src directory and run qmake -r.
  4. Run make (if under Linux) or nmake (if using MSVC under Windows) or mingw32-make (if using MinGW under Windows) etc.

After the DuploQ has been built, you can install it running sudo make install (under Linux).

Workflow

DuploQ's approach is a pretty straighforward.

First, DuploQ allows you to choose where to look for the duplicates (files or folders).

Then it builds list of input files and passes it to the Duplo engine together with necessary parameters.

After the files have been processed, DuploQ parses Duplo's output and visualises the results in easy and intuitive way. Also it provides additional statistics information which is not a part of Duplo output.

DuploQ shares the results across several views: file-based statistics, side-by-side view, block-based view, raw engine output.

File-based view displays a list of files which contain duplicated blocks, their amount and size (duplicated lines of code). The results are sorted to let you immediately see which files include the longest duplicated blocks. For every file, internal (i.e. inside the same file) and external duplicates (i.e. across more files) are represented.

Side-by-side view allows to navigate through the files containing duplicates to see them more in detail. The duplicated blocks are visually highlighted so you can easily see what exactly has been copy-pasted.

Block-based output shows you all the found duplicated blocks in a hierarchical structure. It allows you to see which parts of code are repeated at most.

Links

DuploQ page on Softpedia

DuploQ mirror on Download DuploQ

DuploQ's Projects

duploq icon duploq

Duplo C/C++/C#/Java/JavaScript source code duplicates finder GUI

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.