<commit_before>[![NPM version](https://badge.fury.io/js/hell.png)](http://badge.fury.io/js/hell)
[![Build Status](https://secure.travis-ci.org/vesln/hell.png)](http://travis-ci.org/vesln/hell)
[![Coverage Status](https://coveralls.io/repos/vesln/hell/badge.png?branch=master)](https://coveralls.io/r/vesln/hell?branch=master)
[![Code Climate](https://codeclimate.com/github/vesln/hell.png)](https://codeclimate.com/github/vesln/hell)

# Hell

## Synopsis

Hell is an experimental complexity analyzer for JavaScript projects.

## Usage

```
  Usage: hell <path>

  Options:

    -h, --help          output usage information
    -V, --version       output the version number
    --ignore <path>     specify path to ignore
    --min <number>      specify min score
    --all               include source file total in the list
    --formatter <name>  specify formatter to use
    --formatters        display all formatters
```
## Formatters

## FAQ

#### How does it work?

It will statically analyze your code and count branches, assignments, function
calls etc. These have different score. For instance branch is 10,
assignment 3 etc.

#### When to use it?

It's perfect when you are joining a new project since it can give
you a quick overview of where most of the complexity is. I consider it useful
when dealing with code that I don't know perfectly well too.
You are about to do some refactoring? Hell will give you hints what to tackle.

#### Why is this even useful?

Nobody likes God classes/methods.
Take a look at the [Single responsibility principle](http://en.wikipedia.org/wiki/Single_responsibility_principle) and think about it
a little bit. Is it doing too much? Can it be simplified? Can it be improved?

#### That's fine. Some numbers. How do I decrease them?

Great question, thanks for asking! There is no universal answer to this and
really depends on the app that you are working on. Keep in mind that even if you
have the perfect code it will still have complexity in it, which is fine.
However, a lot of complexity concentrated in one single place is a bad sign and you
should be aware of it.

#### Is this tool perfect?

No.

#### I can cheat it! I can decrease the complexity but keep the same behavior!

It's a bug, probably, which shouldn't be surprising given the early stage of the
project. Reporting problems is highly appreciated!
<commit_msg>Wording<commit_after>[![NPM version](https://badge.fury.io/js/hell.png)](http://badge.fury.io/js/hell)
[![Build Status](https://secure.travis-ci.org/vesln/hell.png)](http://travis-ci.org/vesln/hell)
[![Coverage Status](https://coveralls.io/repos/vesln/hell/badge.png?branch=master)](https://coveralls.io/r/vesln/hell?branch=master)
[![Code Climate](https://codeclimate.com/github/vesln/hell.png)](https://codeclimate.com/github/vesln/hell)

# Hell

## Synopsis

Hell is an experimental complexity analyzer for JavaScript projects.

## Usage

```
  Usage: hell <path>

  Options:

    -h, --help          output usage information
    -V, --version       output the version number
    --ignore <path>     specify path to ignore
    --min <number>      specify min score
    --all               include source file total in the list
    --formatter <name>  specify formatter to use
    --formatters        display all formatters
```
## Formatters

## FAQ

#### When to use it?

It's perfect when you are joining a new project since it can give
you a quick overview of where most of the complexity is. I consider it useful
when dealing with code that I don't know perfectly well too.
You are about to do some refactoring? Hell will give you hints what to tackle.

#### Why is this even useful?

Nobody likes God classes/methods.
Take a look at the [Single responsibility principle](http://en.wikipedia.org/wiki/Single_responsibility_principle) and think about it
a little bit. Is it doing too much? Can it be simplified? Can it be improved?

#### That's fine. Some numbers. How do I decrease them?

Great question, thanks for asking! There is no universal answer to this and
really depends on the app that you are working on. Keep in mind that even if you
have the perfect code it will still have complexity in it, which is fine.
However, a lot of complexity concentrated in one single place is a bad sign and you
should be aware of it.

#### Is this tool perfect?

No.

{'fraction_non_alphanumeric': 0.09887070753629869, 'fraction_numerical': 0.0006914035492048859, 'mean_word_length': 3.6072186836518045, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 12, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3560621', 'n_tokens_mistral': 1260, 'n_tokens_neox': 1209, 'n_words': 543}