Code Comment Markup for Readability and Navigation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers face difficulties in distinguishing and efficiently navigating source code comments due to their unstructured and equally prioritized display, leading to increased time consumption and potential errors.

Innovation Solution

The implementation of a code comment module that introduces markup language support within code comments, allowing for different display modes and automatic detection of editing states to enhance readability and navigation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If all comments are displayed in the same way, then the source code structure is simple, but it becomes difficult to identify and navigate specific information

Engineering Contradiction:
Improvesource code structureVSAvoidcomment identification
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The patent segments comments into different types (e.g., documentation comments, TODO comments, API comments) and assigns distinct visual styles to each type. This segmentation allows developers to quickly identify and navigate to specific comment types without overwhelming visual uniformity, while maintaining a structured organizational framework.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different visual styles (fonts, colors, formatting) are applied locally to different comment types based on their specific purpose and context. This local differentiation enhances the identifiability of specific comment types without requiring complete structural redesign of the entire codebase.

Inventive Principle:
Principle #3Local quality

2Ease of operation

If markup language support is added to comments, then comment readability and navigation improve, but the system complexity increases

Engineering Contradiction:
Improvecomment readabilityVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces a markup language layer as an intermediary between the comment content and its visual presentation. This markup layer enables sophisticated formatting and navigation without requiring direct complexity in the core code editing system, as the markup handles the complexity of visual differentiation and navigation structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system changes the parameter of comment representation by introducing markup syntax that transforms plain text comments into structured, navigable elements. This parameter change enables enhanced readability and navigation capabilities while the underlying system remains relatively simple, as it primarily involves text processing and rendering.

Inventive Principle:
Principle #35Parameter changes

3Loss of information

If different comment types are visually distinguished, then information identification improves, but the processing complexity increases

Engineering Contradiction:
Improveinformation identificationVSAvoidprocessing complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by automatically detecting and classifying comment types as they are written or imported, assigning appropriate visual styles in advance. This preliminary classification reduces the need for complex real-time processing during code navigation, as the visual differentiation is pre-established based on comment type identification.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10635855B1Code comment markup
Publication Date: 2020.04.28 SAP SE
  • US10635855B1 patent drawing
  • US10635855B1 patent drawing
  • US10635855B1 patent drawing

AI summary

A method and system including a code comment module; a unified code processor in communication with the code comment module and operative to execute processor-executable process steps to cause the system to: receive initiation of an integrated development environment program; receive at least one element; initiate an editor in response to the received at least one element; receive a markup annotation, wherein the markup annotation is associated with the received at least one element; receive one or more comments to be formatted by the received markup annotation; and display the at least one element and the formatted comment. Numerous other aspects are provided.