Resolves 26 Credo warnings/issues:
Code Readability (2 issues):
- Break long line in mac_address.ex (line 316 > 120 chars)
- Break long @spec in agents.ex (line 332 > 120 chars)
Refactoring Opportunities (2 issues):
- Reduce cyclomatic complexity in device_live/form.ex
- Extract helper functions to simplify SNMPv3 credential resolution
- Split logic into smaller, focused functions
- Reduce nesting depth in snmp_oid.ex
- Extract nested logic into separate helper functions
Warnings (22 issues):
- Fix comparison warning in validator.ex
- Split validate_sensor_value/1 into separate clauses for int/float
- Add credo directive for valid NaN check (value != value)
- Replace 21 expensive length/1 checks with Enum.empty?/1
- Change assertions from `assert length(list) >= 1` to `refute Enum.empty?(list)`
- Change assertions from `assert length(list) > 0` to `refute Enum.empty?(list)`
- Affected files: device_poller_worker_test.exs, mib_test.exs,
snmp_tokenizer_test.exs, parser_test.exs, error_test.exs, compiler_test.exs
All tests passing (5578 tests, 0 failures).
Credo now reports: "found no issues"
|
||
|---|---|---|
| .. | ||
| mix/tasks | ||
| snmpkit | ||
| towerops | ||
| towerops_web | ||
| snmp_lib.ex | ||
| snmp_mgr.ex | ||
| snmpkit.ex | ||
| towerops.ex | ||
| towerops_native.ex | ||
| towerops_web.ex | ||