pub struct ComplexityFactors {
pub dependency_volume: f32,
pub normalized_depth: f32,
pub fanout_concentration: f32,
pub cycle_ratio: f32,
pub fragmentation: f32,
}Expand description
Breakdown of the five factors that compose the software complexity index. Each factor is normalized to 0.0–1.0 where higher = more complex.
Fields§
§dependency_volume: f32Log-scaled edge density: min(1.0, ln(1 + edges/components) / ln(20))
normalized_depth: f32Depth ratio: min(1.0, max_depth / 15.0)
fanout_concentration: f32Hub dominance: min(1.0, max_out_degree / max(components * 0.25, 4))
cycle_ratio: f32Cycle density: min(1.0, cycle_count / max(1, components * 0.05))
fragmentation: f32Extra disconnected subgraphs: (islands - 1) / max(1, components - 1)
Trait Implementations§
Source§impl Clone for ComplexityFactors
impl Clone for ComplexityFactors
Source§fn clone(&self) -> ComplexityFactors
fn clone(&self) -> ComplexityFactors
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ComplexityFactors
impl Debug for ComplexityFactors
Source§impl<'de> Deserialize<'de> for ComplexityFactors
impl<'de> Deserialize<'de> for ComplexityFactors
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ComplexityFactors
impl RefUnwindSafe for ComplexityFactors
impl Send for ComplexityFactors
impl Sync for ComplexityFactors
impl Unpin for ComplexityFactors
impl UnsafeUnpin for ComplexityFactors
impl UnwindSafe for ComplexityFactors
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§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