Sample
int-df1d256e41e0-SRC
Unmodified source class
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0.987 | 0–1; higher is more readable |
| Scalabrino | 0.917 | 0–1; higher is more readable |
| Dorn | 0.809 | 0–1; higher is more readable |
| Mi | 0.793 | 0–1; higher is more readable |
| LLOC | 5 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 18.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 19 | 0–20; mean of three runs |
| BTTF | 0.456 | 0–1; higher is more readable |
Views
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Source linesThe number of non-empty source lines. | 36 | +14.4 |
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 368.017 | −12.145 |
| 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.535 | −6.803 |
Intercept 8.87 + feature contributions = 4.322 (log-odds).
Score = sigmoid(4.322) = 0.987.
| Score | 0.917 |
|---|
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. | 70.973 | +0.659 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.052 | +0.432 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 70.946 | +0.34 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 26 | −0.176 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 26 | +0.162 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 33 | −0.132 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 35.708 | +0.089 |
Intercept 0.07 + feature contributions = 1.445 (log-odds).
Score = sigmoid(1.445) = 0.809.
| Score | 0.793 |
|---|
| Score | 5 |
|---|
Run 1
The code is highly readable and follows idiomatic Java exception design. Each constructor is clearly separated, well-documented, and delegates to the parent class appropriately. There is no nesting or complex logic, and each action is on its own line. The structure is logical, with a single class extending CodecException, and the serialVersionUID is properly defined. The only minor deduction is the repetitive Javadoc comments, which could be more descriptive, but this does not harm clarity.
Run 2
The code exhibits excellent readability. Structure is logical: a simple exception class extending CodecException, with standard serialVersionUID and four clearly ordered constructors. Nesting is minimal — no conditional blocks, loops, or deeply nested structures. Intent is clear from the class name, documentation, and constructor signatures. Code length is concise, with no unnecessary methods or fields. Action granularity follows the pattern of one constructor per line (with the exception of delegating statements), which is idiomatic for exception classes. Reading flow is natural: class declaration, serialization field, then constructors ordered from most to least parameters, with Javadocs for each. The only minor deduction is that the empty constructor body could potentially be omitted or commented for explicitness, but that is conventional in Java exceptions and does not hinder readability.
Run 3
The code is highly readable. It has clear, logical structure with a single class extending CodecException. There is no deep nesting—only flat constructor declarations. Intent is explicit through the class name, Javadoc comments, and method signatures. The code is concise, with no unnecessary verbosity or redundant logic. Action granularity is appropriate: each constructor performs a single delegation action. Reading flow is natural and predictable, following standard Java exception class conventions. Minor deductions could be made for repetitive Javadoc comments that add little value, but overall this is a clean, maintainable implementation.
Run 1
Code Structure: A logically organized exception class with a serialization identifier followed by constructor overloads. Nesting: Minimal, limited to the class and constructor bodies. Clarity of intent: The class name, inheritance, and class-level documentation clearly identify an encoder-specific exception. Code length: Concise and appropriate; repetitive constructor documentation adds little value. Action granularity: Each nonempty constructor performs one clear superclass call on its own line. Reading flow: Consistent formatting and straightforward constructor delegation make the code easy to scan and understand.
Run 2
Code Structure: The class is logically organized, with the serialization identifier followed by constructor overloads. Nesting: Minimal nesting makes the code easy to scan. Clarity of intent: The class name, superclass, and class-level documentation clearly identify an encoder-specific exception. Code length: The implementation is concise, although identical constructor comments add minor repetition without explaining the overloads. Action granularity: Each statement occupies its own line, and each constructor performs only the necessary superclass delegation. Reading flow: Consistent formatting and a straightforward top-to-bottom layout make reading natural.
Run 3
Code Structure: A logically organized exception class with a serial identifier followed by constructor overloads. Nesting: Minimal, with no nested control flow. Clarity of intent: The class name, inheritance, and class documentation clearly identify an encoder-specific exception; constructor documentation is generic but signatures are self-explanatory. Code length: Concise implementation, though repeated constructor comments add minor boilerplate. Action granularity: Each statement performs a single action, with constructors directly delegating to the superclass. Reading flow: Consistent formatting and straightforward ordering make the class easy to scan and understand.