Toolkit for code / comments actuality and relevance checking.
DISCLAIMER: Work in process, and for a while - here is approximate description
"Code never lies, comments sometimes do." - Ron Jeffries
Actool CLI provides tools for validating comments in code - based on your config, code and commits history.
Tool was conceived to solve following problems:
- Comments for code block loses their actuality fastly - during developing (becomes irrelevant)
/**
* Get schedules from server
*/
const getShared = async () => {
const { data: schedules } = await API.getSchedules();
const { data: vehicles } = await API.getVehicles();
const { data: issueStatuses } = await API.getIssueStatuses();
}
- Sometimes few parts of code stay commented. And after long time it might confuse you and your colleagues when you'll return to this block
return (
<div className="toolbar">
<Button onClick={handleRefresh}>Refresh</Button>
{/* <Button onClick={() => dispatch(deleteEntity()))}>Delete</Button> */}
{/* <Button onClick={handleAdd}>Add</Button> */}
</div>
)
- After a while of your projects started - there are a lot of
fixme
/todo
tags, what hard to control and track during dev
// TODO: loading logic
// FIXME: temp logic, specify
// FIXME: invalid behaviour, fix later
TODO: quick start with module (how it should be - by your opinion)
TODO: installing process (yarn + npm)
TODO: quick usage example (import / require without custom config)
TODO: customization for project (how it should be - by your opinion)
Ilya Azin |
Ural Ozbayan |
Damir Nafikov |
TODO: some specific cases / problems (how it should be - by your opinion)
- MVP version for js (as script validator)
- NPM module version for js
- ESLint rule
- Version with precommit hook validating
- Version for other langs
- Version for IDEs (at start - as vscode extension)
- Check comments actuality (with validate triggering by related code changing)
- Control rubbish commented code (to reduce amount of unused commented and confusing logic)
- Control todo/fixme's progression (to regulate and normalize project backlog)
- Notifications for user (for manual checking confusing specified files)