/go-representer

Primary LanguageGoGNU Affero General Public License v3.0AGPL-3.0

Exercism's Go Representer

This is Exercism's representer for the Go track. See the docs for more information on representers.

Build Executable

This will create an executable called represent.

go build -tags build -o represent .

Executing the Representer

The representer takes three arguments:

  • The slug of the exercise (e.g. two-fer).
  • A path to a directory containing the submitted file(s) (with a trailing slash).
  • A path to an output directory (with a trailing slash). This directory is writable.

The representer will write a representation.txt and mapping.json file to the output directory.

With the binary built above:

represent two-fer ./representer/testdata/two-fer/1/ ./

Current Normalizations

The basic normalizations recommended in the docs are implemented.

  • Use placeholders for variable names
  • Remove comments
  • Apply standard formatting
  • Consolidate multiple files
  • Sort top level declarations (imports, types, constants, variables, functions)

Batch Analysis

See Batch Analysis README for information on how to run the representer on a bigger data set.