Sample
Dorn/java/133
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.438 | 0–1; higher is more readable | 80.2Δ 60.2 |
| Dorn | 0.805 | 0–1; higher is more readable | 78.0Δ 57.9 |
| Mi | 0.608 | 0–1; higher is more readable | 64.1Δ 44.0 |
| LLOC | 2 | Logical lines; fewer is more readable | 93.7Δ 73.7 |
| DeepSeek V4 Pro | 9.67 | 0–20; mean of three runs | 39.4Δ 19.4 |
| GPT-6.1 Sol | 14 | 0–20; mean of three runs | 41.4Δ 21.3 |
| BTTF | 0.608 | 0–1; higher is more readable | 75.2Δ 55.2 |
| Human | 2.76 | 1–5; original rating | 20.1 |
Views
Select the downloaded ZIP or its extracted folder. Files stay in your browser.
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| 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.985 | −7.478 |
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 170.967 | −5.642 |
| Source linesThe number of non-empty source lines. | 10 | +4 |
Intercept 8.87 + feature contributions = -0.25 (log-odds).
Score = sigmoid(-0.25) = 0.438.
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. | 45.909 | +1.721 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 11 | +0.647 |
| 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. | 10 | −0.391 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 9.627 | −0.275 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.092 | +0.052 |
Intercept 0.07 + feature contributions = 1.417 (log-odds).
Score = sigmoid(1.417) = 0.805.
| Score | 0.608 |
|---|
| Score | 2 |
|---|
Run 1
The code snippet shows a mixed level of readability. The structure is mostly logical, using a conditional block to set a property based on context data. However, the nesting is moderate with three levels (if, method call, getter/util call), and the cast to String adds visual clutter. The intent is fairly clear—retrieving a 'classPK' value and setting it—but the variable names like 'workflowContext' and 'kaleoInstanceToken' are domain-specific and could be unclear without broader context. The code is concise for its purpose, though the formatting with alignment and line breaks makes it slightly longer than necessary. Action granularity is reasonable, with one primary action across the block. Reading flow is somewhat disrupted by the deep indentation and the multiline method call within the GetterUtil invocation. Overall, it’s readable to developers familiar with the domain and utility classes, but not immediately approachable to newcomers.
Run 2
The code snippet demonstrates moderate readability. The structure shows a logical flow with a conditional check and a setter method, though it's incomplete (starting mid-expression). Nesting is relatively shallow with only one level of conditionals and method calls. Intent is fairly clear - retrieving workflow context values and setting a token property. However, the code is unnecessarily verbose for simple operations, with excessive line breaks that disrupt reading flow. Each action spans multiple lines due to deep method chaining and indentation, reducing action granularity clarity. The constant names are descriptive, aiding understanding, but the excessive wrapping and indentation make it harder to follow than necessary. The overall reading flow feels fragmented despite the relatively simple logic.
Run 3
The code snippet is difficult to read due to excessive and inconsistent indentation, particularly at the start where the first line appears to be a continuation of a previous statement. The nesting is moderate but compounded by verbose method calls and multiple layers of parentheses, making the logic hard to follow. Clarity of intent is low because the purpose of the condition and the data transformation are not immediately obvious without broader context. Code length is unnecessarily long due to repeated fully qualified constant names. Action granularity is mixed — some lines contain a single action, but others pack multiple operations into dense expressions. Reading flow is disrupted by the awkward indentation and lack of visual separation between logical steps, forcing the reader to mentally parse the structure before understanding the behavior.
Run 1
Code Structure: The conditional and update are logically organized, but the fragment begins with an incomplete statement. Nesting: Control-flow nesting is shallow, though nested calls and indentation add visual depth. Clarity of intent: Constant and method names clearly indicate setting the class primary key from the workflow context when present. Code length: Concise overall, but extensive line wrapping makes the small operation look larger. Action granularity: The condition and update are separated, although retrieval, casting, conversion, and assignment are combined in one statement. Reading flow: The conditional reads naturally, but the dangling opening line and heavily wrapped expression interrupt comprehension.
Run 2
Code Structure: The conditional update is logically organized, but the opening fragment lacks surrounding context. Nesting: Control-flow nesting is shallow, though nested method calls and heavy indentation add visual complexity. Clarity of intent: The code clearly sets a token's class primary key when the corresponding workflow-context entry exists. Code length: The operation is concise, but extensive line wrapping makes it appear longer. Action granularity: There is one main action in the conditional body, with retrieval, casting, and conversion embedded in the setter call. Reading flow: The conditional is easy to follow, but the incomplete opening statement and fragmented call formatting interrupt the flow.
Run 3
Code Structure: The conditional logically groups the class-PK update, but the fragment begins with an incomplete preceding statement. Nesting: Control-flow nesting is shallow, although nested method calls add visual complexity. Clarity of intent: Checking for a context key before assigning its parsed value clearly communicates purpose. Code length: The logic is concise, but extensive wrapping makes a simple operation span many lines. Action granularity: There is one assignment operation, with retrieval, casting, and conversion composed within it. Reading flow: The conditional-to-update sequence is natural, but deep indentation, split expressions, and the truncated opening interrupt readability.