Sample
int-0c2e17761b06-SRC
Unmodified source class
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Scalabrino | 0.694 | 0–1; higher is more readable |
| Dorn | 0.177 | 0–1; higher is more readable |
| Mi | 0.291 | 0–1; higher is more readable |
| LLOC | 29 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 15.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 17 | 0–20; mean of three runs |
| BTTF | 0.605 | 0–1; higher is more readable |
Views
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 5279.93 | −174.238 |
| Source linesThe number of non-empty source lines. | 178 | +71.2 |
| Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value. | 4.63 | −6.944 |
Intercept 8.87 + feature contributions = -101.112 (log-odds).
Score = sigmoid(-101.112) = 0.
| Score | 0.694 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 178 | −5.266 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 139 | +4.071 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 139 | −2.769 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 177.974 | +2.078 |
| Identifier layout (horizontal)How rapidly the visual pattern of identifier characters changes from left to right. It measures spatial frequency, not the meaning of the names. | 115.961 | −1.246 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 113.402 | +1.025 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.045 | +0.5 |
Intercept 0.07 + feature contributions = -1.537 (log-odds).
Score = sigmoid(-1.537) = 0.177.
| Score | 0.291 |
|---|
| Score | 29 |
|---|
Run 1
The code follows a clear, consistent structure with numerous overloaded constructors that chain logically via 'this(...)' or 'super(...)', which improves readability and reduces duplication. Javadocs provide useful context for most public methods. However, the class has many constructors with long parameter lists, making it dense and harder to scan. Some constructors lack Javadocs, and the 'newChild' method relies on positional array arguments and manual casts, which slightly obscures intent. Nesting is minimal and reading flow is generally good, but the lengthy repeated constructor patterns reduce overall conciseness.
Run 2
The code has a clear overall structure and follows common Java patterns with constructors delegating via `this(...)`, but readability is hurt by a large number of overloaded constructors (10+) that obscure intent. Parameter lists are long, and some constructors lack Javadoc, creating inconsistency. The `newChild` method uses array args with manual bounds checking, which is brittle and less readable than named parameters or a builder. Boolean parameters and deeply chained constructor calls reduce clarity. Positive aspects: good use of `@Deprecated`, clear naming, and short method bodies. However, the constructor overloads make the class look cluttered and hard to navigate, and the mixed argument order across constructors adds confusion. The code is maintainable but not highly readable without IDE assistance.
Run 3
The code is highly readable and well-structured. It exhibits clear, consistent organization, especially in the constructor overloading pattern. The nesting is minimal, primarily limited to minor conditional checks within the newChild method. Intent is clear through descriptive names and comprehensive Javadoc. Code length, while extensive, is justified by the various constructor combinations typical of Netty APIs. Action granularity is strong, with most statements on separate lines. Reading flow is natural and logical. The only slight deductions are for the slightly repetitive constructor pattern and the cryptic 'args' array handling in newChild, which could be more explicit.
Run 1
Code Structure: Logically organized into constructors and operational methods, with consistent delegation rather than tangled logic. Nesting: Very shallow; only a simple loop and independent conditionals. Clarity of intent: Descriptive names and Javadoc explain configuration, deprecation, and selector rebuilding. However, positional Object... arguments and casts in newChild obscure type expectations. Code length: Individual methods are concise, but numerous similar constructor overloads and repetitive documentation make the class lengthy to scan. Action granularity: Statements generally perform one action each; nested factory calls remain manageable. Reading flow: Progression from basic constructors to advanced configuration and behavior is natural, though inconsistent parameter indentation and uneven documentation slightly disrupt scanning.
Run 2
Code Structure: Logically organized into constructors, public operations, and child creation, with consistent delegation. Nesting: Very shallow; only a simple loop and independent conditionals. Clarity of intent: Descriptive names and Javadoc explain most behavior, including deprecation and the no-op method. However, positional Object... arguments and casts in newChild obscure the parameter contract. Code length: Numerous constructor overloads and repetitive documentation make the class lengthy, though most support useful configuration options. Action granularity: Statements generally perform one action each; nested factory calls remain understandable. Reading flow: Progression from simple constructors to advanced configurations is natural, followed by operational methods. Minor indentation inconsistencies, long signatures, and uneven documentation slightly hinder scanning.
Run 3
Code Structure: Constructors are grouped logically, followed by operational methods and child creation; delegation avoids duplicated implementation. Nesting: Very shallow, with only a simple loop and independent conditionals. Clarity of intent: Descriptive names and useful Javadoc explain configuration and deprecated behavior, though positional Object... arguments and casts obscure newChild's contract. Code length: Numerous constructor overloads and repetitive documentation increase length, but most support distinct configuration options. Action granularity: Statements generally perform one action each; nested factory calls remain manageable. Reading flow: Progression from basic constructors to advanced configuration is natural, followed by short methods. Minor indentation inconsistencies, lengthy parameter lists, and uneven constructor documentation slightly hinder scanning.