dba

Don't Be an Asshole

npm install dba
10 downloads in the last month

Don't Be an Asshole

NPM version Build Status Coverage Status Dependency Status license MIT

Intro

If you write a complex open-sourced JS code and don't comment it well, then you are an asshole. That's it.

What

DBA is an experimental tool which is trying to determine a complex JS functions with very low comments / logical lines of code ratio.

How

$ npm i dba
 Usage: dba [options] <file>

  Options:

    -h, --help     output usage information
    -V, --version  output the version number
    --effort <n>   minimum function Halstead Programming Effort (default: 1000)
    --ratio <n>    minimum function `comments count / logical sloc` ratio (default: 0)

So, you can operate with two options:

effort:

Halstead's formulation for the effort required to author (or understand) a
program characterizes effort as proportional to both difficulty and volume.

Default value is 1000. Why? I don't know. You can (and probably must) choose your own value. Read more about Halstead Metrics.

ratio:

ratio = comments / logical lines of code (count of the imperative statements)

Default value is 0, i.e. functions without any comments above or inside them.

Try it

$ npm i -g dba
$ curl http://code.jquery.com/jquery-2.0.3.js -o jquery.js
$ dba jquery.js
line:name effort
259:eq 2463.4990140857967
636:merge 5604.019067420871
848:isArraylike 4531.773550138875
1536:<anonymous> 3545.3416830596843
1888:<anonymous> 1257.7999892502814
1899:<anonymous> 14657.936450339506
2031:<anonymous> 1316.1630348826093
2104:<anonymous> 3088.7749214053893
2129:<anonymous> 1000.1639924757808
2230:<anonymous> 1461.2679657469964
2238:<anonymous> 1300
2404:condense 4301.781429421212
2532:<anonymous> 1088.3504253764434
2826:<anonymous> 1437.041091550048
3146:<anonymous> 1597.4865292825052
3947:hasClass 3499.7543832579354
5252:add 2166.3947815907463
5341:filter 3509.9700124673077
5355:dir 2730.587439587538
5370:sibling 1539.077237214529
5966:getAll 3010.733942522896
6169:<anonymous> 5234.617404043934
6528:set 1268.8883720745803
6644:<anonymous> 1842.172433325465
6849:<anonymous> 1725.8559825284208
8076:tweener 3958.887401782952
8234:init 1529.9625455901264
8250:run 9362.395485529289
8711:<anonymous> 1614.2124551085624
8729:<anonymous> 2357.9244683544707

Tools

License

MIT

npm loves you