Sample

int-4bef36b32e82-I04

Replace method, parameter, and local names with deterministic ProGuard-style short identifiers

Matched original source

Lines36

Scores

MethodScoreScale
Posnett0.9840–1; higher is more readable
Scalabrino0.9440–1; higher is more readable
Dorn0.8050–1; higher is more readable
Mi0.7910–1; higher is more readable
LLOC5Logical lines; fewer is more readable
DeepSeek V4 Pro180–20; mean of three runs
GPT-6.1 Sol180–20; mean of three runs
BTTF0.4150–1; higher is more readable

Views

Source code

package io.netty.handler.codec; /** * An {@link CodecException} which is thrown by an encoder. */ public class EncoderException extends CodecException { private static final long serialVersionUID = -5086121160476476774L; /** * Creates a new instance. */ public EncoderException() { } /** * Creates a new instance. */ public EncoderException(String a, Throwable b) { super(a, b); } /** * Creates a new instance. */ public EncoderException(String c) { super(c); } /** * Creates a new instance. */ public EncoderException(Throwable d) { super(d); } }

Loading feature diagnosis…

Source regions

Feature contributions

Feature contributions

FeatureValueContribution
(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.375−12.375
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.503−6.755

Intercept 8.87 + feature contributions = 4.14 (log-odds).
Score = sigmoid(4.14) = 0.984.

Score0.944

Feature contributions

FeatureValueContribution
(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.946+0.66
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.056+0.4
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.778+0.09

Intercept 0.07 + feature contributions = 1.416 (log-odds).
Score = sigmoid(1.416) = 0.805.

Score0.791
Score5
Run 1

The code is highly readable due to its clear structure, flat hierarchy, and conventional Java exception pattern. It follows standard practices: package declaration, imports, JavaDoc, and serialVersionUID. The class extends CodecException logically, and each constructor is concise, delegating to the superclass appropriately. Nesting is minimal (single class level). Intent is unambiguous—this is a specific encoder-related exception. Code length is minimal and appropriate for the purpose. Action granularity is effectively one operation per constructor. Reading flow is natural, with JavaDoc preceding each constructor. The only minor deduction is the use of generic parameter names (a, b, c, d) in constructors, which could be more descriptive (e.g., message, cause), slightly reducing clarity. Overall, it exemplifies clean, maintainable code.

Run 2

The code is highly readable. It follows a simple, logical structure for a custom exception class, with clear separation of constructors. There is no nesting, and each action is on its own line. The class and constructor purposes are obvious despite repetitive placeholder Javadocs. The code is concise and avoids unnecessary complexity. The only minor drawback is the uninformative parameter names (a, b, c, d) and generic Javadoc comments, which slightly reduce clarity but do not significantly impact overall readability.

Run 3

The code is highly readable. It has a clear, logical structure as a simple exception class with straightforward constructors, and there is no nesting. The intent is unambiguous, with each constructor delegating to the superclass. The code is concise, with minimal boilerplate, and each action (constructor declaration) is separated onto its own line. The reading flow is natural and consistent. The only minor deduction is for generic parameter names (a, b, c, d) in the constructors, which slightly reduce clarity compared to descriptive names like 'message' or 'cause'. Overall, it is a well-formatted and easily understandable piece of code.

Run 1

Code Structure: Well-organized exception class with a serialization identifier followed by constructor overloads. Nesting: Minimal, with no nested control flow. Clarity of intent: The class name, inheritance, and class-level documentation clearly establish its purpose, but parameter names a, b, c, and d obscure message and cause roles. Code length: Concise overall, though repeated generic constructor comments add little value. Action granularity: Each constructor performs at most one action, clearly separated onto its own line. Reading flow: Consistent formatting and predictable constructor organization make the code easy to scan.

Run 2

Code Structure: Clean, conventional exception class with logically grouped constructors. Nesting: Minimal, with no nested control flow. Clarity of intent: The class name, inheritance, and class documentation clearly convey its purpose, but parameter names a, b, c, and d obscure their roles; message and cause would be clearer. Code length: Concise overall, though repeated generic constructor comments add little value. Action granularity: Each constructor performs a single delegation, with one action per line. Reading flow: Natural top-to-bottom organization and consistent formatting make the code easy to scan.

Run 3

Code Structure: Well-organized exception class with a serialization constant and logically grouped constructors. Nesting: Minimal; each constructor contains at most one statement. Clarity of intent: The class name, inheritance, and class-level documentation clearly convey its purpose, but parameter names a, b, c, and d obscure their roles; message and cause would be clearer. Code length: Concise and appropriate, although repeated generic constructor documentation adds little value. Action granularity: Each statement performs a single action on its own line. Reading flow: Consistent formatting and straightforward constructor delegation make the code easy to scan.