|
|
|
|
|
|
|
|
Features
- customization of activated checks (and exceptions) by configuration files
- code checks: overloading of builtin elements, useless constructs, deeply
nested constructs, 'open' statements, magic numbers, complex conditions,
empty constructs, deprecated elements, tuple size, useless parentheses,
textual code duplicate, ignore of 'unit' expression, 'try/with' construct
catching all exceptions
- documentation checks: presence of comments, and spellcheck
- interface checks: empty interface, and number of exported elements, duplicate
elements
- metrics checks: coupling, Halstead, and McCabe
- miscellaneous checks: matching of regular expressions
- typographic checks: spaces, tabulations, headers, and file/line lengths
- support for CheckStyle, CSV, HTML, JDepend, bare text, binary, and XML outputs
- support for plugins (custom checks and outputs)
- support for ocamlfind
History
Version 1.0 (2012-08-29):- support for checks based on binary annotations
- support for binary output mode, and report-only mode
- new code check: 'catch_all' to detect patterns catching all exceptions
- new code check: 'code.ignore_unit' check to detect application of 'ignore'
to expression whose type is 'unit'
- bug #72: allow punctuation after closing a block
- bug #74: handle the '::' operator
- bug #75: do not require whitespace after '?' used for optional label
- bug #76: do not require whitespace around '..' used for character range
- bug #77: allow absence of whitespace before unary minus if previous token
is an opening one
- bug #79: treat '[< ... >]' and '[| ... |]' blocks like '{ ... }' blocks
- bug #80: allow whitespace after '.' when used to introduce polymorphic
type
- bug #81: allow opening token after a label
- bug #84: use 'center' rather than 'p' tag with 'align' attribute, and
correct handling of icons
- bug #87: install shouldn't build anything
- bug #89: do not activate warnings by default
- bug #90: output available checks as a ready-to-use config
- bug #93: 'interface.duplicate' to detect duplicate entries in signatures
- bug #94: do not require whitespace after colon
- bug #96: 'typography.trailing_white_space' now has a 'tolerance' parameter
in order to indicate how many whitespace characters may be tolerated
- update for OCaml 4.00.0
Version 1.0-beta (2011-07-15):- switch to OCaml 3.12.1
- revamped configure/build system
- support for checks based on annotation files
- support for checks using a state (for cross-file checks)
- new code checks: 'empty_for', 'empty_try', and 'empty_while'
- new code check: 'deprecated' to detect deprecated elements
- new code check: 'tuple_size' to detect lenghty tuples
- strict mode for documentation checks (rejects empty comments)
- bug #66: allowed modules in 'code.open' check
- bug #67: detection of useless parentheses in 'if', 'when', 'while', and
'for' constructs ('code.code_useless_external_parentheses')
- bug #68: 'code.physical_comparisons' check added
- bug #70: support for preprocessors
- bug #71: detection of textual code duplication ('code.textual_duplicate')
Version 1.0-alpha (2010-12-31):
|
|
|
|
|
|
|
|