pub struct CognitiveComplexityAnalyzer {
pub threshold: usize,
}Expand description
Detect functions with high cognitive complexity.
Cognitive complexity measures how hard code is to understand, unlike
cyclomatic complexity which measures testability. It penalizes nesting
and rewards linear, readable structures like switch.
§References
[1] G. A. Campbell, “Cognitive Complexity: A new way of measuring understandability,” SonarSource, 2017. https://www.sonarsource.com/resources/white-papers/cognitive-complexity/
Fields§
§threshold: usizeTrait Implementations§
Source§impl Plugin for CognitiveComplexityAnalyzer
impl Plugin for CognitiveComplexityAnalyzer
Source§fn description(&self) -> &str
fn description(&self) -> &str
Short description of what the plugin detects.
Source§fn analyze(&self, ctx: &AnalysisContext<'_>) -> Vec<Finding>
fn analyze(&self, ctx: &AnalysisContext<'_>) -> Vec<Finding>
Run analysis on a single file and return findings.
List of authors.
Auto Trait Implementations§
impl Freeze for CognitiveComplexityAnalyzer
impl RefUnwindSafe for CognitiveComplexityAnalyzer
impl Send for CognitiveComplexityAnalyzer
impl Sync for CognitiveComplexityAnalyzer
impl Unpin for CognitiveComplexityAnalyzer
impl UnsafeUnpin for CognitiveComplexityAnalyzer
impl UnwindSafe for CognitiveComplexityAnalyzer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more