Sample

Schnappinger/jsweet/def.dom.SVGSVGElement

Human rating uses the original dataset scale.

Human3
Lines235

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
4.5Δ 20.2
Scalabrino0.3030–1; higher is more readable
2.4Δ 22.4
Dorn00–1; higher is more readable
7.3Δ 17.5
Mi0.0030–1; higher is more readable
1.3Δ 23.4
LLOC230Logical lines; fewer is more readable
11.6Δ 13.2
DeepSeek V4 Pro3.330–20; mean of three runs
0.0Δ 24.8
GPT-6.1 Sol130–20; mean of three runs
9.4Δ 15.3
BTTF00–1; higher is more readable
0.5Δ 24.3
Human31–4; original rating
24.8

Views

Source code

package def.dom; @jsweet.lang.Extends({DocumentEvent.class,SVGLocatable.class,SVGTests.class,SVGStylable.class,SVGLangSpace.class,SVGExternalResourcesRequired.class,SVGFitToViewBox.class,SVGZoomAndPan.class}) public class SVGSVGElement extends SVGElement { public String contentScriptType; public String contentStyleType; public double currentScale; public SVGPoint currentTranslate; public SVGAnimatedLength height; public java.util.function.Function<Event,Object> onabort; public java.util.function.Function<Event,Object> onerror; public java.util.function.Function<UIEvent,Object> onresize; public java.util.function.Function<UIEvent,Object> onscroll; public java.util.function.Function<Event,Object> onunload; public java.util.function.Function<SVGZoomEvent,Object> onzoom; public double pixelUnitToMillimeterX; public double pixelUnitToMillimeterY; public double screenPixelToMillimeterX; public double screenPixelToMillimeterY; public SVGRect viewport; public SVGAnimatedLength width; public SVGAnimatedLength x; public SVGAnimatedLength y; native public Boolean checkEnclosure(SVGElement element, SVGRect rect); native public Boolean checkIntersection(SVGElement element, SVGRect rect); native public SVGAngle createSVGAngle(); native public SVGLength createSVGLength(); native public SVGMatrix createSVGMatrix(); native public SVGNumber createSVGNumber(); native public SVGPoint createSVGPoint(); native public SVGRect createSVGRect(); native public SVGTransform createSVGTransform(); native public SVGTransform createSVGTransformFromMatrix(SVGMatrix matrix); native public void deselectAll(); native public void forceRedraw(); native public CSSStyleDeclaration getComputedStyle(Element elt, String pseudoElt); native public double getCurrentTime(); native public Element getElementById(String elementId); native public NodeList getEnclosureList(SVGRect rect, SVGElement referenceElement); native public NodeList getIntersectionList(SVGRect rect, SVGElement referenceElement); native public void pauseAnimations(); native public void setCurrentTime(double seconds); native public double suspendRedraw(double maxWaitMilliseconds); native public void unpauseAnimations(); native public void unsuspendRedraw(double suspendHandleID); native public void unsuspendRedrawAll(); native public void addEventListener(jsweet.util.StringTypes.MSGestureChange type, java.util.function.Function<MSGestureEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.MSGestureDoubleTap type, java.util.function.Function<MSGestureEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.MSGestureEnd type, java.util.function.Function<MSGestureEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.MSGestureHold type, java.util.function.Function<MSGestureEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.MSGestureStart type, java.util.function.Function<MSGestureEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.MSGestureTap type, java.util.function.Function<MSGestureEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.MSGotPointerCapture type, java.util.function.Function<MSPointerEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.MSInertiaStart type, java.util.function.Function<MSGestureEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.MSLostPointerCapture type, java.util.function.Function<MSPointerEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.MSPointerCancel type, java.util.function.Function<MSPointerEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.MSPointerDown type, java.util.function.Function<MSPointerEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.MSPointerEnter type, java.util.function.Function<MSPointerEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.MSPointerLeave type, java.util.function.Function<MSPointerEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.MSPointerMove type, java.util.function.Function<MSPointerEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.MSPointerOut type, java.util.function.Function<MSPointerEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.MSPointerOver type, java.util.function.Function<MSPointerEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.MSPointerUp type, java.util.function.Function<MSPointerEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.SVGAbort type, java.util.function.Function<Event,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.SVGError type, java.util.function.Function<Event,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.SVGUnload type, java.util.function.Function<Event,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.SVGZoom type, java.util.function.Function<SVGZoomEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.ariarequest type, java.util.function.Function<AriaRequestEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.click type, java.util.function.Function<MouseEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.command type, java.util.function.Function<CommandEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.dblclick type, java.util.function.Function<MouseEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.focusin type, java.util.function.Function<FocusEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.focusout type, java.util.function.Function<FocusEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.gotpointercapture type, java.util.function.Function<PointerEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.load type, java.util.function.Function<Event,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.lostpointercapture type, java.util.function.Function<PointerEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.mousedown type, java.util.function.Function<MouseEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.mousemove type, java.util.function.Function<MouseEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.mouseout type, java.util.function.Function<MouseEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.mouseover type, java.util.function.Function<MouseEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.mouseup type, java.util.function.Function<MouseEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.pointercancel type, java.util.function.Function<PointerEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.pointerdown type, java.util.function.Function<PointerEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.pointerenter type, java.util.function.Function<PointerEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.pointerleave type, java.util.function.Function<PointerEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.pointermove type, java.util.function.Function<PointerEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.pointerout type, java.util.function.Function<PointerEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.pointerover type, java.util.function.Function<PointerEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.pointerup type, java.util.function.Function<PointerEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.resize type, java.util.function.Function<UIEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.scroll type, java.util.function.Function<UIEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.touchcancel type, java.util.function.Function<TouchEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.touchend type, java.util.function.Function<TouchEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.touchmove type, java.util.function.Function<TouchEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.touchstart type, java.util.function.Function<TouchEvent,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.webkitfullscreenchange type, java.util.function.Function<Event,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.webkitfullscreenerror type, java.util.function.Function<Event,Object> listener, Boolean useCapture); native public void addEventListener(jsweet.util.StringTypes.wheel type, java.util.function.Function<WheelEvent,Object> listener, Boolean useCapture); native public void addEventListener(String type, EventListener listener, Boolean useCapture); public static SVGSVGElement prototype; public SVGSVGElement(){} native public AnimationEvent createEvent(jsweet.util.StringTypes.AnimationEvent eventInterface); native public AriaRequestEvent createEvent(jsweet.util.StringTypes.AriaRequestEvent eventInterface); native public AudioProcessingEvent createEvent(jsweet.util.StringTypes.AudioProcessingEvent eventInterface); native public BeforeUnloadEvent createEvent(jsweet.util.StringTypes.BeforeUnloadEvent eventInterface); native public ClipboardEvent createEvent(jsweet.util.StringTypes.ClipboardEvent eventInterface); native public CloseEvent createEvent(jsweet.util.StringTypes.CloseEvent eventInterface); native public CommandEvent createEvent(jsweet.util.StringTypes.CommandEvent eventInterface); native public CompositionEvent createEvent(jsweet.util.StringTypes.CompositionEvent eventInterface); native public CustomEvent createEvent(jsweet.util.StringTypes.CustomEvent eventInterface); native public DeviceMotionEvent createEvent(jsweet.util.StringTypes.DeviceMotionEvent eventInterface); native public DeviceOrientationEvent createEvent(jsweet.util.StringTypes.DeviceOrientationEvent eventInterface); native public DragEvent createEvent(jsweet.util.StringTypes.DragEvent eventInterface); native public ErrorEvent createEvent(jsweet.util.StringTypes.ErrorEvent eventInterface); native public Event createEvent(jsweet.util.StringTypes.Event eventInterface); native public Event createEvent(jsweet.util.StringTypes.Events eventInterface); native public FocusEvent createEvent(jsweet.util.StringTypes.FocusEvent eventInterface); native public GamepadEvent createEvent(jsweet.util.StringTypes.GamepadEvent eventInterface); native public HashChangeEvent createEvent(jsweet.util.StringTypes.HashChangeEvent eventInterface); native public IDBVersionChangeEvent createEvent(jsweet.util.StringTypes.IDBVersionChangeEvent eventInterface); native public KeyboardEvent createEvent(jsweet.util.StringTypes.KeyboardEvent eventInterface); native public LongRunningScriptDetectedEvent createEvent(jsweet.util.StringTypes.LongRunningScriptDetectedEvent eventInterface); native public MSGestureEvent createEvent(jsweet.util.StringTypes.MSGestureEvent eventInterface); native public MSManipulationEvent createEvent(jsweet.util.StringTypes.MSManipulationEvent eventInterface); native public MSMediaKeyMessageEvent createEvent(jsweet.util.StringTypes.MSMediaKeyMessageEvent eventInterface); native public MSMediaKeyNeededEvent createEvent(jsweet.util.StringTypes.MSMediaKeyNeededEvent eventInterface); native public MSPointerEvent createEvent(jsweet.util.StringTypes.MSPointerEvent eventInterface); native public MSSiteModeEvent createEvent(jsweet.util.StringTypes.MSSiteModeEvent eventInterface); native public MessageEvent createEvent(jsweet.util.StringTypes.MessageEvent eventInterface); native public MouseEvent createEvent(jsweet.util.StringTypes.MouseEvent eventInterface); native public MouseEvent createEvent(jsweet.util.StringTypes.MouseEvents eventInterface); native public MouseWheelEvent createEvent(jsweet.util.StringTypes.MouseWheelEvent eventInterface); native public MutationEvent createEvent(jsweet.util.StringTypes.MutationEvent eventInterface); native public MutationEvent createEvent(jsweet.util.StringTypes.MutationEvents eventInterface); native public NavigationCompletedEvent createEvent(jsweet.util.StringTypes.NavigationCompletedEvent eventInterface); native public NavigationEvent createEvent(jsweet.util.StringTypes.NavigationEvent eventInterface); native public NavigationEventWithReferrer createEvent(jsweet.util.StringTypes.NavigationEventWithReferrer eventInterface); native public OfflineAudioCompletionEvent createEvent(jsweet.util.StringTypes.OfflineAudioCompletionEvent eventInterface); native public PageTransitionEvent createEvent(jsweet.util.StringTypes.PageTransitionEvent eventInterface); native public PermissionRequestedEvent createEvent(jsweet.util.StringTypes.PermissionRequestedEvent eventInterface); native public PointerEvent createEvent(jsweet.util.StringTypes.PointerEvent eventInterface); native public PopStateEvent createEvent(jsweet.util.StringTypes.PopStateEvent eventInterface); native public ProgressEvent createEvent(jsweet.util.StringTypes.ProgressEvent eventInterface); native public SVGZoomEvent createEvent(jsweet.util.StringTypes.SVGZoomEvent eventInterface); native public SVGZoomEvent createEvent(jsweet.util.StringTypes.SVGZoomEvents eventInterface); native public ScriptNotifyEvent createEvent(jsweet.util.StringTypes.ScriptNotifyEvent eventInterface); native public StorageEvent createEvent(jsweet.util.StringTypes.StorageEvent eventInterface); native public TextEvent createEvent(jsweet.util.StringTypes.TextEvent eventInterface); native public TouchEvent createEvent(jsweet.util.StringTypes.TouchEvent eventInterface); native public TrackEvent createEvent(jsweet.util.StringTypes.TrackEvent eventInterface); native public TransitionEvent createEvent(jsweet.util.StringTypes.TransitionEvent eventInterface); native public UIEvent createEvent(jsweet.util.StringTypes.UIEvent eventInterface); native public UIEvent createEvent(jsweet.util.StringTypes.UIEvents eventInterface); native public UnviewableContentIdentifiedEvent createEvent(jsweet.util.StringTypes.UnviewableContentIdentifiedEvent eventInterface); native public WebGLContextEvent createEvent(jsweet.util.StringTypes.WebGLContextEvent eventInterface); native public WheelEvent createEvent(jsweet.util.StringTypes.WheelEvent eventInterface); native public Event createEvent(String eventInterface); public SVGElement farthestViewportElement; public SVGElement nearestViewportElement; native public SVGRect getBBox(); native public SVGMatrix getCTM(); native public SVGMatrix getScreenCTM(); native public SVGMatrix getTransformToElement(SVGElement element); public SVGStringList requiredExtensions; public SVGStringList requiredFeatures; public SVGStringList systemLanguage; native public Boolean hasExtension(String extension); public Object className; public CSSStyleDeclaration style; public String xmllang; public String xmlspace; public SVGAnimatedBoolean externalResourcesRequired; public SVGAnimatedPreserveAspectRatio preserveAspectRatio; public SVGAnimatedRect viewBox; public double zoomAndPan; public static double SVG_ZOOMANDPAN_DISABLE; public static double SVG_ZOOMANDPAN_MAGNIFY; public static double SVG_ZOOMANDPAN_UNKNOWN; native public CSSStyleDeclaration getComputedStyle(Element elt); native public void addEventListener(jsweet.util.StringTypes.MSGestureChange type, java.util.function.Function<MSGestureEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.MSGestureDoubleTap type, java.util.function.Function<MSGestureEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.MSGestureEnd type, java.util.function.Function<MSGestureEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.MSGestureHold type, java.util.function.Function<MSGestureEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.MSGestureStart type, java.util.function.Function<MSGestureEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.MSGestureTap type, java.util.function.Function<MSGestureEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.MSGotPointerCapture type, java.util.function.Function<MSPointerEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.MSInertiaStart type, java.util.function.Function<MSGestureEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.MSLostPointerCapture type, java.util.function.Function<MSPointerEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.MSPointerCancel type, java.util.function.Function<MSPointerEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.MSPointerDown type, java.util.function.Function<MSPointerEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.MSPointerEnter type, java.util.function.Function<MSPointerEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.MSPointerLeave type, java.util.function.Function<MSPointerEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.MSPointerMove type, java.util.function.Function<MSPointerEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.MSPointerOut type, java.util.function.Function<MSPointerEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.MSPointerOver type, java.util.function.Function<MSPointerEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.MSPointerUp type, java.util.function.Function<MSPointerEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.SVGAbort type, java.util.function.Function<Event,Object> listener); native public void addEventListener(jsweet.util.StringTypes.SVGError type, java.util.function.Function<Event,Object> listener); native public void addEventListener(jsweet.util.StringTypes.SVGUnload type, java.util.function.Function<Event,Object> listener); native public void addEventListener(jsweet.util.StringTypes.SVGZoom type, java.util.function.Function<SVGZoomEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.ariarequest type, java.util.function.Function<AriaRequestEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.click type, java.util.function.Function<MouseEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.command type, java.util.function.Function<CommandEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.dblclick type, java.util.function.Function<MouseEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.focusin type, java.util.function.Function<FocusEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.focusout type, java.util.function.Function<FocusEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.gotpointercapture type, java.util.function.Function<PointerEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.load type, java.util.function.Function<Event,Object> listener); native public void addEventListener(jsweet.util.StringTypes.lostpointercapture type, java.util.function.Function<PointerEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.mousedown type, java.util.function.Function<MouseEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.mousemove type, java.util.function.Function<MouseEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.mouseout type, java.util.function.Function<MouseEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.mouseover type, java.util.function.Function<MouseEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.mouseup type, java.util.function.Function<MouseEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.pointercancel type, java.util.function.Function<PointerEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.pointerdown type, java.util.function.Function<PointerEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.pointerenter type, java.util.function.Function<PointerEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.pointerleave type, java.util.function.Function<PointerEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.pointermove type, java.util.function.Function<PointerEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.pointerout type, java.util.function.Function<PointerEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.pointerover type, java.util.function.Function<PointerEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.pointerup type, java.util.function.Function<PointerEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.resize type, java.util.function.Function<UIEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.scroll type, java.util.function.Function<UIEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.touchcancel type, java.util.function.Function<TouchEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.touchend type, java.util.function.Function<TouchEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.touchmove type, java.util.function.Function<TouchEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.touchstart type, java.util.function.Function<TouchEvent,Object> listener); native public void addEventListener(jsweet.util.StringTypes.webkitfullscreenchange type, java.util.function.Function<Event,Object> listener); native public void addEventListener(jsweet.util.StringTypes.webkitfullscreenerror type, java.util.function.Function<Event,Object> listener); native public void addEventListener(jsweet.util.StringTypes.wheel type, java.util.function.Function<WheelEvent,Object> listener); native public void addEventListener(String type, EventListener listener); native public void addEventListener(String type, EventListenerObject listener, Boolean useCapture); native public void addEventListener(String type, EventListenerObject listener); }

Loading feature diagnosis…

Source regions

Feature contributions

Feature contributions

FeatureValueContribution
(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.36318.055−1198.496
Source linesThe number of non-empty source lines.235+94
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.77−7.154

Intercept 8.87 + feature contributions = -1102.78 (log-odds).
Score = sigmoid(-1102.78) = 0.

Score0.303

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.236−7.32
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.190.97−4.424
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.234.875+2.873
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.0−0.804
Indentation frequencyHow rapidly indentation changes from line to line.1−0.703
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.1+0.398
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.078+0.188

Intercept 0.07 + feature contributions = -9.721 (log-odds).
Score = sigmoid(-9.721) = 0.

Score0.003
Score230
Run 1

This code is extremely unreadable. While it represents a generated API binding (likely auto-generated from TypeScript definitions), it fails most readability criteria. The class is massively long with hundreds of overloaded methods, making it nearly impossible to scan or understand intent. There is no logical grouping or sectioning - methods and fields are dumped sequentially without comments or organization. Method signatures are extremely long, often exceeding 200 characters, with repetitive patterns that obscure meaning. The massive duplication (e.g., addEventListener and createEvent overloads repeated with slight variations) creates noise rather than clarity. Although nesting is flat (one action per line), this doesn't help when the overall structure is a wall of text. Reading flow is nonexistent - related functionality isn't grouped, and the sheer volume makes navigation difficult in any IDE. While generated code has different standards, this represents the lower bound of human readability.

Run 2

This code is extremely difficult to read. The structure is overwhelming, with hundreds of near-identical method overloads for addEventListener and createEvent crammed into a single class without grouping or comments. It is not deeply nested, but it is excessively long and repetitive. The intent is somewhat clear (an SVG DOM element wrapper), but the sheer volume of boilerplate obscures the meaningful parts. Each line is a single action, and reading flow is poor because the reader must scroll through massive repeated blocks. The class mixes fields, constructor, methods, and static members without logical separation. While it is not tangled logic, it is a wall of text that violates most readability principles.

Run 3

This code is extremely difficult to read due to its enormous size and repetitive structure. While it is flat (minimal nesting) and each line represents a single action, the overwhelming volume of nearly identical method declarations makes it hard to discern intent or navigate logically. The class mixes properties, event handlers, and methods with no grouping or organization, resulting in poor code structure. There is no separation of concerns or meaningful ordering, which hampers reading flow. The use of long qualified type names (e.g., jsweet.util.StringTypes.MSGestureChange) further reduces clarity. Additionally, the presence of multiple overloaded methods with only slight variations creates ambiguity and visual clutter. Although the code is not deeply nested and each line is short, the overall length is excessive and repetitive, making it feel more like a generated stub than handcrafted readable code. It earns low marks for clarity, structure, and readability despite its simplicity in form.

Run 1

Code Structure: Related declarations form recognizable blocks, but fields and methods are interspersed later, and related overloads are widely separated. Nesting: Completely flat apart from the class, making individual declarations easy to follow. Clarity of intent: Descriptive SVG types and method names clearly indicate a DOM API binding; absent documentation leaves specialized behavior unexplained. Code length: Extensive repetitive overloads and fully qualified types create substantial visual bulk, although much of this supports typed API coverage rather than redundant implementation. Action granularity: Each line contains a single declaration, with no compound logic. Reading flow: Consistent indentation and predictable overload ordering help scanning, but long signatures, the dense annotation, missing blank-line sections, and separated overload families make navigation tiring.

Run 2

Code Structure: Related declarations are partly grouped, but fields, constructors, and method families are interspersed without section separators. Nesting: Excellent; the class is flat, with no nested control flow. Clarity of intent: Descriptive SVG types and method names clearly indicate an API binding, though documentation is absent and some abbreviations require domain knowledge. Code length: Extensive overload lists and fully qualified types make the class verbose, even if required for typed bindings. Action granularity: Each line contains one declaration, making individual members easy to identify. Reading flow: Consistent indentation and predictable overload ordering help, but long lines, minimal whitespace, and widely separated overload families hinder scanning.

Run 3

1. Code Structure: Related declarations are partially grouped, but fields, constructors, and methods are interspersed, and overload families are separated. 2. Nesting: Entirely flat declarations with no nested control flow, making individual members easy to parse. 3. Clarity of intent: Descriptive SVG API names and explicit types communicate purpose, though specialized abbreviations and absent documentation limit accessibility. 4. Code length: Extensive overload repetition and fully qualified types make the class lengthy and visually dense, although these signatures serve a typed API binding. 5. Action granularity: Each line contains one declaration; there are no compound operations. 6. Reading flow: Consistent indentation and predictable overload ordering help, but missing blank lines, long signatures, and scattered related members make scanning difficult.