Sample
int-2946774d5fe5-SRC
Unmodified source class
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0.001 | 0–1; higher is more readable |
| Scalabrino | 0.746 | 0–1; higher is more readable |
| Dorn | 0.714 | 0–1; higher is more readable |
| Mi | 0.351 | 0–1; higher is more readable |
| LLOC | 5 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 18.67 | 0–20; mean of three runs |
| GPT-6.1 Sol | 19 | 0–20; mean of three runs |
| BTTF | 0.672 | 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. | 647.078 | −21.354 |
| Source linesThe number of non-empty source lines. | 31 | +12.4 |
| 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.756 | −7.134 |
Intercept 8.87 + feature contributions = -7.217 (log-odds).
Score = sigmoid(-7.217) = 0.001.
| Score | 0.746 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 88.25 | +0.619 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| 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. | 94 | −0.316 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.07 | +0.266 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 32 | −0.097 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 20 | −0.045 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 30.832 | +0.021 |
Intercept 0.07 + feature contributions = 0.916 (log-odds).
Score = sigmoid(0.916) = 0.714.
| Score | 0.351 |
|---|
| Score | 5 |
|---|
Run 1
The code is highly readable. Structure is logical with a clear class purpose and concise Javadoc. Nesting is minimal—just a lambda within a lambda, which is acceptable. Intent is unambiguous: wrap a removal listener for asynchronous execution. Code length is minimal and avoids boilerplate. Each meaningful action appears on its own line, and the reading flow is natural, following a clear progression from validation to behavior definition. The only minor deduction is that the nested lambda could slightly obscure the execution flow for some readers, but overall it is clean and idiomatic.
Run 2
The code is very readable: the class structure is logical, with a private constructor and clear Javadoc. The method is concise, uses Preconditions validation, and the lambda expression makes the asynchronous behavior easy to follow. Nesting is minimal and the reading flow is natural.
Run 3
The code is highly readable. It has a clear structure with imports, class-level Javadoc, a private constructor, and a single well-documented static method. The logic is flat with no deep nesting, and the lambda expression is concise, expressing intent clearly. The method checks preconditions and returns a functional interface implementation in a natural, easy-to-follow flow. Variable and method names are descriptive. The only minor deduction is that the lambda on one line combines creation and execution, but it remains perfectly understandable.
Run 1
Code Structure: A well-organized utility class contains a single focused factory method and a private constructor. Nesting: Minimal nesting; the two lambdas clearly express asynchronous delegation. Clarity of intent: Descriptive names, explicit types, and Javadoc make the purpose clear. Code length: Concise, with no unnecessary logic or repetition. Action granularity: Null checks are separate statements; the composed lambda naturally combines task submission with its callback. Reading flow: Documentation, validation, and listener creation follow a logical sequence. Minor drawbacks are the lack of spacing between the package and imports and the modest cognitive overhead of nested lambdas.
Run 2
Code Structure: A focused utility class with a private constructor and one logically organized factory method. Nesting: Minimal; the nested lambdas are shallow and easy to follow. Clarity of intent: Descriptive names, documentation, and explicit null checks clearly communicate asynchronous notification dispatch. Code length: Concise, with no unnecessary implementation details. Action granularity: Each validation occupies its own line, and the return expression cleanly represents listener construction and delegation. Reading flow: Natural progression from documentation and signature to validation and execution. Minor drawbacks are tightly grouped package/import declarations and the small cognitive overhead of nested lambdas.
Run 3
Code Structure: A logically organized utility class with a private constructor and one focused factory method. Nesting: Minimal; the nested lambdas remain short and easy to follow. Clarity of intent: Descriptive names, documentation, and explicit null checks clearly explain asynchronous notification handling. Code length: Concise, with no unnecessary implementation detail. Action granularity: Each validation occupies its own line, and the lambda expression cleanly expresses scheduling the callback. Reading flow: Natural progression from documentation and method signature through validation to listener creation. Minor drawbacks are the lack of spacing between package and import declarations and the modest cognitive overhead of nested lambdas.