Sample
Buse/74
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.51 | 0–1; higher is more readable | 63.6Δ 10.6 |
| Dorn | 0.546 | 0–1; higher is more readable | 38.4Δ 35.9 |
| Mi | 0.299 | 0–1; higher is more readable | 17.2Δ 57.1 |
| LLOC | 4 | Logical lines; fewer is more readable | 59.6Δ 14.6 |
| DeepSeek V4 Pro | 10 | 0–20; mean of three runs | 15.2Δ 59.1 |
| GPT-6.1 Sol | 16 | 0–20; mean of three runs | 47.0Δ 27.3 |
| BTTF | 0.475 | 0–1; higher is more readable | 43.4Δ 30.8 |
| Human | 3.81 | 1–5; original rating | 74.2 |
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.091 | −6.137 |
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 154.287 | −5.091 |
| Source linesThe number of non-empty source lines. | 6 | +2.4 |
Intercept 8.87 + feature contributions = 0.042 (log-odds).
Score = sigmoid(0.042) = 0.51.
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| 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. | 7 | +0.788 |
| 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. | 68.857 | +0.749 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 6 | −0.53 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 5.814 | −0.329 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.113 | −0.159 |
Intercept 0.07 + feature contributions = 0.184 (log-odds).
Score = sigmoid(0.184) = 0.546.
| Score | 0.299 |
|---|
| Score | 4 |
|---|
Run 1
The snippet lacks sufficient context to evaluate structure, but within these lines, several issues reduce readability. The variable declarations before the loop are unclear without seeing types or initialization, making intent ambiguous. The while loop uses an iterator manually, which is verbose compared to a for-each loop. Multiple actions are packed into each line inside the loop—assignment, method call, and cast—reducing clarity. The reading flow is disjointed because 'methods' is assigned in the loop but its usage is not shown, leaving the purpose unclear. Nesting is minimal, and the code is concise, but variable naming and method names suggest domain-specific logic that is not self-explanatory. Overall, the lack of context and dense lines make it difficult to read confidently.
Run 2
The code is fairly readable but has some issues. It shows a clear structure with an iterator and while loop, and the action granularity is good—one action per line. However, nesting is minimal, which is positive. The main problems are ambiguity: variable types and origins (classNameSet, andAliases, iterateRoutineMethods) are unexplained, making intent unclear without surrounding context. The variable 'methods' is assigned but not used in the snippet, raising questions about purpose. Naming is acceptable but could be more descriptive. Overall, it's understandable but lacks clarity of intent and context.
Run 3
The code is relatively clear and concise with a flat structure and one action per line, making basic intent easy to follow. However, it lacks context: variable types, the purpose of iterating class names, and the role of 'andAliases' are unclear without surrounding code. The inconsistent alignment of assignments ('className =' vs 'methods =') slightly disrupts reading flow. Overall, it is readable but would benefit from more descriptive naming and surrounding context.
Run 1
Code Structure: Straightforward iterator setup followed by a loop, though the fragment lacks a closing brace and surrounding context. Nesting: Only one loop level, making it easy to follow. Clarity of intent: Descriptive names indicate iteration over class names and retrieval of routine methods; andAliases is less self-explanatory. Code length: Concise, with no apparent unnecessary statements. Action granularity: Each line performs one main action. Reading flow: Natural progression from obtaining the iterator to retrieving each class name and its methods. The explicit String cast and uneven assignment spacing slightly reduce readability.
Run 2
Code Structure: A straightforward iterator loop logically organizes class processing, though the snippet is incomplete. Nesting: Only one loop level keeps complexity low. Clarity of intent: Descriptive names suggest iterating classes and obtaining their methods, but iterateRoutineMethods and andAliases leave some behavior unclear. Code length: Concise, with little extraneous code, although an enhanced for-loop could simplify iteration. Action granularity: Each line performs one primary operation. Reading flow: Initialization, iteration, and method retrieval follow a natural sequence; inconsistent assignment spacing and the missing closing brace slightly impede readability.
Run 3
Code Structure: Logically organized as iterator setup followed by iteration and method retrieval. Nesting: A single loop keeps nesting shallow. Clarity of intent: Names communicate iteration over class names and retrieval of routine methods, although andAliases is unclear without context. Code length: Concise, with no unnecessary statements. Action granularity: Each line performs one primary action. Reading flow: Natural sequential progression, though the explicit iterator and String cast add minor overhead. The snippet ends without a closing brace, leaving the loop's full structure and subsequent use of methods unknown.