Add l3 readers#87
CodeScene PR Check
Quality Gate Failed
Gates Failed
Enforce critical code health rules
(1 file with Low Cohesion)
Enforce advisory code health rules
(2 files with Number of Functions in a Single Module, Code Duplication, Large Method)
Gates Passed
2 Quality Gates Passed
See analysis details in CodeScene
Reason for failure
| Enforce critical code health rules | Violations | Code Health Impact | |
|---|---|---|---|
| plot.py | 1 critical rule | 6.27 → 5.92 | Suppress |
| Enforce advisory code health rules | Violations | Code Health Impact | |
|---|---|---|---|
| test_manipulations.py | 2 advisory rules | 5.98 → 5.80 | Suppress |
| manipulations.py | 1 advisory rule | 5.77 → 5.61 | Suppress |
Quality Gate Profile: Clean Code Collective
Install CodeScene MCP: safeguard and uplift AI-generated code. Catch issues early with our IDE extension and CLI tool.
Details
🚩 Declining Code Health (highest to lowest):
- Code Duplication test_manipulations.py
- Low Cohesion plot.py
- Large Method test_manipulations.py: test_extract_dataset_above_bin
- Large Method test_manipulations.py: test_extract_dataset_below_bin
- Number of Functions in a Single Module manipulations.py
✅ Improving Code Health:
- Code Duplication methods.py
- Overall Code Complexity checks.py
- Overall Code Complexity cross_section.py
- Missing Arguments Abstractions plot.py
- Complex Method manipulations.py: _get_valid_da_bin
- Excess Number of Function Arguments methods.py: GPM_Base_Accessor.plot_swath
- Excess Number of Function Arguments methods.py: GPM_Base_Accessor.plot_swath_lines
- Excess Number of Function Arguments methods.py: GPM_Base_Accessor.plot_map_mesh
- Excess Number of Function Arguments methods.py: GPM_Base_Accessor.plot_map_mesh_centroids
- Overall Code Complexity plot.py
Annotations
Check notice on line 1 in gpm/accessor/methods.py
codescene-delta-analysis / CodeScene Code Health Review (main)
✅ Getting better: Code Duplication
reduced similar code in: GPM_Base_Accessor.plot_map_mesh,GPM_Base_Accessor.plot_map_mesh_centroids,GPM_Base_Accessor.plot_swath,GPM_Base_Accessor.plot_swath_lines. Avoid duplicated, aka copy-pasted, code inside the module. More duplication lowers the code health.
Check notice on line 1 in gpm/accessor/methods.py
codescene-delta-analysis / CodeScene Code Health Review (main)
✅ No longer an issue: Excess Number of Function Arguments
GPM_Base_Accessor.plot_swath is no longer above the threshold for number of arguments. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.
Check notice on line 1 in gpm/accessor/methods.py
codescene-delta-analysis / CodeScene Code Health Review (main)
✅ No longer an issue: Excess Number of Function Arguments
GPM_Base_Accessor.plot_swath_lines is no longer above the threshold for number of arguments. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.
Check notice on line 1 in gpm/accessor/methods.py
codescene-delta-analysis / CodeScene Code Health Review (main)
✅ No longer an issue: Excess Number of Function Arguments
GPM_Base_Accessor.plot_map_mesh is no longer above the threshold for number of arguments. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.
Check notice on line 1 in gpm/accessor/methods.py
codescene-delta-analysis / CodeScene Code Health Review (main)
✅ No longer an issue: Excess Number of Function Arguments
GPM_Base_Accessor.plot_map_mesh_centroids is no longer above the threshold for number of arguments. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.
Check warning on line 1 in gpm/utils/manipulations.py
codescene-delta-analysis / CodeScene Code Health Review (main)
❌ New issue: Number of Functions in a Single Module
This module has 89 functions, threshold = 75. This file contains too many functions. Beyond a certain threshold, more functions lower the code health.
Check notice on line 293 in gpm/utils/manipulations.py
codescene-delta-analysis / CodeScene Code Health Review (main)
✅ No longer an issue: Complex Method
_get_valid_da_bin is no longer above the threshold for cyclomatic complexity. This function has many conditional statements (e.g. if, for, while), leading to lower code health. Avoid adding more conditionals and code to it without refactoring.
Check warning on line 1 in gpm/tests/test_utils/test_manipulations.py
codescene-delta-analysis / CodeScene Code Health Review (main)
❌ Getting worse: Code Duplication
introduced similar code in: TestSliceRangeAtNearSurface.test_dataset_slices_all_variables_using_target,TestSliceRangeAtTop.test_dataset_slices_all_variables_using_target. Avoid duplicated, aka copy-pasted, code inside the module. More duplication lowers the code health.
Check warning on line 584 in gpm/tests/test_utils/test_manipulations.py
codescene-delta-analysis / CodeScene Code Health Review (main)
❌ Getting worse: Large Method
test_extract_dataset_above_bin increases from 113 to 114 lines of code, threshold = 70. Large functions with many lines of code are generally harder to understand and lower the code health. Avoid adding more lines to this function.
Check warning on line 417 in gpm/tests/test_utils/test_manipulations.py
codescene-delta-analysis / CodeScene Code Health Review (main)
❌ Getting worse: Large Method
test_extract_dataset_below_bin increases from 97 to 98 lines of code, threshold = 70. Large functions with many lines of code are generally harder to understand and lower the code health. Avoid adding more lines to this function.
Check warning on line 1 in gpm/visualization/plot.py
codescene-delta-analysis / CodeScene Code Health Review (main)
❌ New issue: Low Cohesion
This module has at least 4 different responsibilities amongst its 43 functions, threshold = 4. Cohesion is calculated using the LCOM4 metric. Low cohesion means that the module/class has multiple unrelated responsibilities, doing too many things and breaking the Single Responsibility Principle.
Check notice on line 1 in gpm/visualization/plot.py
codescene-delta-analysis / CodeScene Code Health Review (main)
✅ No longer an issue: Overall Code Complexity
The mean cyclomatic complexity in this module is no longer above the threshold
Check notice on line 1 in gpm/visualization/plot.py
codescene-delta-analysis / CodeScene Code Health Review (main)
✅ Getting better: Missing Arguments Abstractions
The average number of function arguments decreases from 4.93 to 4.74, threshold = 4.00. The functions in this file have too many arguments, indicating a lack of encapsulation or too many responsibilities in the same functions. Avoid adding more.
Check notice on line 1 in gpm/io/checks.py
codescene-delta-analysis / CodeScene Code Health Review (main)
✅ Getting better: Overall Code Complexity
The mean cyclomatic complexity decreases from 5.19 to 5.16, threshold = 4. This file has many conditional statements (e.g. if, for, while) across its implementation, leading to lower code health. Avoid adding more conditionals.
Check notice on line 1 in gpm/visualization/cross_section.py
codescene-delta-analysis / CodeScene Code Health Review (main)
✅ Getting better: Overall Code Complexity
The mean cyclomatic complexity decreases from 6.29 to 6.14, threshold = 4. This file has many conditional statements (e.g. if, for, while) across its implementation, leading to lower code health. Avoid adding more conditionals.