Sample

Schnappinger/diarymanagement/TBA.Messages.LogoutResponse

Human rating uses the original dataset scale.

Human4
Lines57

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett10–1; higher is more readable
96.0Δ 2.7
Scalabrino0.960–1; higher is more readable
99.3Δ 0.6
Dorn0.820–1; higher is more readable
88.1Δ 10.6
Mi0.7160–1; higher is more readable
86.1Δ 12.5
LLOC6Logical lines; fewer is more readable
79.7Δ 19.0
DeepSeek V4 Pro14.330–20; mean of three runs
32.3Δ 66.3
GPT-6.1 Sol160–20; mean of three runs
38.9Δ 59.7
BTTF0.7670–1; higher is more readable
92.4Δ 6.3
Human41–4; original rating
98.7

Views

Source code

package TBA.Messages; import TBA.Exceptions.MessagesException; /** * This class is the response message to a Logout Query *<p> * @author Dan McGrath * * @version $Rev:: 204 $ $Date:: 2009-10-15 #$ */ public class LogoutResponse extends ResponseMessage { /** * Constructor does nothing */ public LogoutResponse() {} /** * The Get() Method gets the LOGOUT message *<p> * @return The actual message string you can send *<p> * @throws MessagesException *<p> * @see #Set(java.lang.String) * @see TBA.Messages.ResponseMessage#Get(java.lang.String) * @see TBA.Messages.Messages#Get(java.lang.String) * @param dummy - to override Super Get(String) */ @Override public String Get(String dummy) throws MessagesException { return super.Get(""); } /** * The Set() Method strips out all the fields of a Logout Query message. They * are then available by the Get methods of this class. *<p> * @param message The message as recieved. *<p> * @return The message without the 'Response Header' *<p> * @throws MessagesException *<p> * @see #Get(java.lang.String) * @see TBA.Messages.ResponseMessage#Set(java.lang.String) * @see TBA.Messages.Messages#Set(java.lang.String) */ @Override public String Set(String message) throws MessagesException { message = super.Set(message); return null; } }

Loading feature diagnosis…

Source regions

Feature contributions

Feature contributions

FeatureValueContribution
(log-odds)
Source linesThe number of non-empty source lines.57+22.8
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.335.201−11.062
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.709−7.063

Intercept 8.87 + feature contributions = 13.545 (log-odds).
Score = sigmoid(13.545) = 1.

Score0.96

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.56−0.946
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.022+0.731
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.80+0.486
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.55.691+0.369
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.79.947+0.279
Indentation frequencyHow rapidly indentation changes from line to line.25+0.128

Intercept 0.07 + feature contributions = 1.514 (log-odds).
Score = sigmoid(1.514) = 0.82.

Score0.716
Score6
Run 1

The code is generally readable but has several issues. Structure is clear with a simple class extending ResponseMessage, and nesting is nonexistent. Intention is mostly comprehensible but muddled by misleading documentation - the Get() method claims to 'Get the LOGOUT message' while accepting an unused dummy parameter, and Set() returns null despite documentation suggesting otherwise. The code is concise but contains unnecessary verbosity in Javadoc with redundant @see and @param tags. Action granularity is good with one operation per line, and reading flow is natural due to logical method ordering and consistent formatting. However, the dummy parameter and null return create ambiguity about actual purpose. The code would benefit from clearer method names, removal of deceptive documentation, and more meaningful parameter handling. Overall, it's readable Java code but lacks precision in intent and documentation accuracy.

Run 2

The code is moderately readable due to its short length, flat structure, and low nesting. Intent is clear for basic getter/setter overrides, but the implementation introduces ambiguity: the parameter is named 'dummy', magic strings are used, and the Set method discards the processed message by returning null. Javadoc comments are verbose and repetitive, inflating length without adding practical value. The reading flow is disrupted by inconsistent exception declarations and unclear documentation, making the code appear more complex than necessary. The class's actual purpose—handling logout response messages—is not evident from the implementation, which simply delegates to the superclass. This obscures the functional value and reduces overall clarity despite the logical organization.

Run 3

The code is well-structured with clear class inheritance, logical organization, and minimal nesting. Each method has a single clear purpose, and the action granularity is appropriate — one main action per line. The reading flow is natural, with Javadoc comments explaining intent. However, the code length is slightly excessive due to verbose Javadoc comments that repeat information already implied by method names and overrides. The Set() method returns null after calling super.Set(), which may be unclear without deeper context. Minor ambiguity in the dummy parameter purpose also slightly reduces clarity. Overall, readable but could be more concise.

Run 1

Code Structure: The class is logically organized into a constructor and two small overrides. Nesting: There is no nested control flow, making it easy to scan. Clarity of intent: The class purpose is clear, but Get ignores its dummy parameter, while Set assigns a superclass result and then returns null. The Set documentation describes a query rather than a response and promises a return value inconsistent with the implementation. Code length: The implementation is concise, but extensive boilerplate documentation adds unnecessary reading. Action granularity: Statements generally perform one action per line. Reading flow: Consistent formatting and simple delegation support natural reading, although nonstandard capitalized method names, redundant comments, and misleading documentation reduce readability.

Run 2

Code Structure: The class is logically organized into a constructor and two short overrides. Nesting: There is no nested control flow, making the implementation easy to scan. Clarity of intent: The logout-response purpose is clear, but capitalized Get/Set names, an ignored dummy parameter, and Set returning null after assigning a superclass result obscure method behavior. Documentation also inconsistently refers to a Logout Query. Code length: Executable code is concise, although extensive boilerplate Javadoc adds disproportionate length. Action granularity: Each statement performs one action, with no compressed multi-action lines. Reading flow: Consistent formatting and straightforward delegation support natural reading, but repetitive comments and the unexplained null return interrupt understanding.

Run 3

Code Structure: The class is logically organized into a constructor and two small overrides. Nesting: There is no nested control flow, making the implementation easy to scan. Clarity of intent: The logout-response purpose is clear, but Get/Set names are generic, the dummy parameter is awkward, and Set returns null despite documentation promising a message without its header. Its assignment to message is also unused afterward. Code length: Executable code is concise, but extensive Javadoc and an unnecessary explicit empty constructor add clutter. Action granularity: Each statement performs a single action. Reading flow: Consistent formatting and straightforward delegation support natural reading, though inaccurate documentation referring to a Logout Query and nonstandard Java capitalization reduce clarity.