Sample
int-d81b6d6e64e0-I06
Invert eligible conditions and exchange their branches
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Scalabrino | 0.472 | 0–1; higher is more readable |
| Dorn | 0.019 | 0–1; higher is more readable |
| Mi | 0.077 | 0–1; higher is more readable |
| LLOC | 6 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 17.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 18 | 0–20; mean of three runs |
| BTTF | 0.446 | 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. | 1018.615 | −33.614 |
| Source linesThe number of non-empty source lines. | 19 | +7.6 |
| 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.799 | −7.198 |
Intercept 8.87 + feature contributions = -24.342 (log-odds).
Score = sigmoid(-24.342) = 0.
| Score | 0.472 |
|---|
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. | 174 | −3.705 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 19 | +0.364 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 18.92 | −0.145 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 19 | −0.08 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.099 | −0.017 |
Intercept 0.07 + feature contributions = -3.92 (log-odds).
Score = sigmoid(-3.92) = 0.019.
| Score | 0.077 |
|---|
| Score | 6 |
|---|
Run 1
The code is highly readable and follows clean coding principles. It has a clear, logical structure with two concise methods that each serve a single purpose. Nesting is non-existent, and clarity of intent is strong: the method names clearly describe what each does. The code is concise without being overly compact, with one primary action per line. Reading flow is natural and straightforward. Minor improvements could include adding a private constructor to prevent instantiation of a utility class, which would slightly improve design, but this does not significantly affect readability.
Run 2
The code is concise, well-structured, and follows clean coding principles. It avoids unnecessary nesting and keeps methods short with clear, single-purpose actions. Each line generally performs one logical action, improving readability. The method names clearly convey their intent, such as 'createAuthorizer' and 'isClusterResource'. Imports are organized, and the overall flow is natural. Minor deductions for slightly dense argument lists and a hard-coded string 'role' that could be a constant, but overall the code is highly readable.
Run 3
The code is concise and clear, with a logical structure and minimal nesting. The createAuthorizer method performs a chain of well-named operations, each on its own line, enhancing readability. The isClusterResource method is a simple one-liner with a clear purpose. However, minor issues reduce clarity: the string literal "role" in the Plugin.wrapInstance call is a magic value while the parameter 'role' is used for the value, which may confuse intent; also, the class lacks a Javadoc comment explaining its utility purpose. Overall, the code is easy to read and maintain.
Run 1
Code Structure: A small utility class cleanly separates authorizer creation from resource identification. Nesting: Both methods are flat, with no nested control flow. Clarity of intent: Descriptive method and variable names make their purposes clear, although the generic parameter name 'key' and literal 'role' provide limited context. Code length: The implementation is concise without unnecessary statements, but the long createAuthorizer signature would benefit from line wrapping. Action granularity: Each statement performs one primary action, making initialization, configuration, and wrapping easy to distinguish. Reading flow: Operations follow a natural sequence, and the second method is immediately understandable. Missing spacing between the package declaration and imports, along with ungrouped imports, slightly reduces visual readability.
Run 2
Code Structure: Two focused utility methods provide clear, logical organization. Nesting: Both methods are flat, with no nested control flow. Clarity of intent: Descriptive method names and straightforward operations make authorizer creation and cluster-resource identification easy to understand, though generic parameters such as key and role provide limited context. Code length: The implementation is concise without unnecessary complexity, but the long createAuthorizer signature would benefit from wrapping. Action granularity: Each statement performs one distinct action. Reading flow: Instantiation, configuration, and wrapping follow a natural sequence. Minor formatting issues, including no blank line after the package declaration and inconsistent import grouping, slightly reduce readability.
Run 3
Code Structure: Two focused utility methods provide clear logical organization. Nesting: Both methods are flat, with no nested control flow. Clarity of intent: Method names and straightforward operations make their purposes clear, though the generic parameter name 'key' offers limited context. Code length: The implementation is concise without unnecessary statements; the long createAuthorizer signature could be wrapped for easier scanning. Action granularity: Each statement performs one distinct action. Reading flow: Authorizer creation, configuration, and wrapping follow a natural sequence. Minor formatting improvements, such as separating the package declaration from imports and grouping imports consistently, would improve readability.