DEV Community

aclarembeau
aclarembeau

Posted on

Looking to remove duplicated code? Try codesim

Hi dev community.
I just released a new tool that can be helpful for you.
It's called "codesim" (on github: https://github.com/aclarembeau/codesim).
It's a utility that can help you to find duplicated parts of code in your sources.

You can get it calling:

wget --no-cache https://raw.githubusercontent.com/aclarembeau/codesim/master/main.py -O /usr/local/bin/codesim ; chmod +x /usr/local/bin/codesim
Enter fullscreen mode Exit fullscreen mode

And use it with the following params:

usage: codesim [-h] [--exclude EXCLUDE] [--ratio RATIO]
               [--min-lines MIN_LINES]
               dir


positional arguments:
  dir                   Directory containing all the source files

optional arguments:
  -h, --help            show this help message and exit
  --exclude EXCLUDE     Exclude files matching the given pattern (ex:
                        node_modules)
  --ratio RATIO         Minimum percentage of common code (default: 0.9)
  --min-lines MIN_LINES
                        Minimum number of common lines (default: 10)
Enter fullscreen mode Exit fullscreen mode

It produces a table of all the duplicated parts of your code and can be really helpful, for instance, when doing web projects.

== Results ==

changes ratio   lines a lines b
6.00    0.92    37  37  ./projects/hook_logs/_index.html.haml -> ./admin/hook_logs/_index.html.haml
Enter fullscreen mode Exit fullscreen mode

If you like it, don't hesitate to leave me a star on Github :)

Best,

Top comments (0)