Sample
Schnappinger/diarymanagement/TBA.Exceptions.NetworkDataException
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 1 | 0–1; higher is more readable | 95.7Δ 7.9 |
| Scalabrino | 0.921 | 0–1; higher is more readable | 94.2Δ 6.4 |
| Dorn | 0.901 | 0–1; higher is more readable | 96.4Δ 8.6 |
| Mi | 0.759 | 0–1; higher is more readable | 92.4Δ 4.6 |
| LLOC | 4 | Logical lines; fewer is more readable | 87.0Δ 0.8 |
| DeepSeek V4 Pro | 15.33 | 0–20; mean of three runs | 41.3Δ 46.5 |
| GPT-6.1 Sol | 17 | 0–20; mean of three runs | 55.3Δ 32.5 |
| BTTF | 0.798 | 0–1; higher is more readable | 96.0Δ 8.3 |
| Human | 3.98 | 1–4; original rating | 87.8 |
Views
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Source linesThe number of non-empty source lines. | 47 | +18.8 |
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 267.96 | −8.843 |
| 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.404 | −6.606 |
Intercept 8.87 + feature contributions = 12.222 (log-odds).
Score = sigmoid(12.222) = 1.
| Score | 0.921 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| 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. | 62.957 | +0.999 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.037 | +0.579 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 44 | −0.522 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 29 | +0.266 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 45.672 | +0.229 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 61.617 | +0.19 |
Intercept 0.07 + feature contributions = 2.209 (log-odds).
Score = sigmoid(2.209) = 0.901.
| Score | 0.759 |
|---|
| Score | 4 |
|---|
Run 1
The code is a simple exception class with a clear purpose. The structure is logical, with four overloaded constructors that each delegate appropriately to the superclass. Nesting is minimal and action granularity is one action per line. However, readability is slightly reduced by template boilerplate comments that add noise without value, inconsistent Javadoc formatting, and a blank constructor that could be omitted or replaced with a more meaningful comment. The code is concise, though the repetitive comments feel unnecessarily long for such simple methods.
Run 2
The code is a simple custom exception class with a clear purpose and logical structure. It is mostly flat with no deep nesting, and each action is on its own line. The constructors are concise and delegate appropriately to the superclass. However, readability is slightly reduced by inconsistent indentation and Javadoc comments: the class-level comment is empty, the first constructor has a misleading comment saying 'does nothing' (when constructors inherently initialize the object), and the formatting of comment blocks is uneven. The placeholder template comment at the top is irrelevant. Overall, the code is easy to understand but would benefit from cleaner, more accurate documentation and consistent style.
Run 3
The code is a simple custom exception class with a clear structure. It has a flat hierarchy with no nesting, making it easy to follow. The constructors are logically organized and each performs a single, clear action. However, readability is slightly reduced by outdated boilerplate comments (e.g., the template placeholder and redundant 'Constructor does nothing' comment), inconsistent indentation, and an unused empty constructor. Javadoc comments are present but add verbosity without providing useful information. Overall, the code is readable but would benefit from removing unnecessary comments and standardizing formatting.
Run 1
Code Structure: A straightforward exception class with logically grouped constructor overloads. Nesting: Minimal, with no conditional or looping complexity. Clarity of intent: The class name and constructor signatures clearly communicate purpose, though comments are redundant and parameter descriptions are missing. Code length: The implementation is concise, but template boilerplate and repetitive Javadoc add unnecessary length. Action granularity: Each constructor performs a single action, with no crowded statements. Reading flow: Constructor ordering is natural and easy to follow; inconsistent indentation, comment alignment, and blank lines slightly disrupt visual consistency.
Run 2
Code Structure: The exception class is logically organized, with related constructor overloads grouped together. Nesting: Minimal nesting makes it easy to follow. Clarity of intent: The class name and calls to super clearly communicate its purpose, though the comment that the default constructor 'does nothing' overlooks implicit superclass initialization. Code length: The implementation is concise, but template boilerplate and repetitive documentation add unnecessary length. Action granularity: Each constructor performs a single action, with no crowded statements. Reading flow: Constructor ordering is natural, but inconsistent indentation and comment alignment interrupt the visual flow.
Run 3
Code Structure: A straightforward exception class with logically grouped constructor overloads. Nesting: Minimal, with no conditional or loop nesting. Clarity of intent: The class name and constructor signatures clearly communicate purpose, although comments are repetitive and the empty constructor's description is imprecise. Code length: The implementation is concise, but template boilerplate and redundant documentation add clutter. Action granularity: Each nonempty constructor performs a single action on its own line. Reading flow: Constructors progress naturally from no arguments to message, cause, and both; inconsistent indentation and comment alignment slightly disrupt readability.