Method, system, and computer program product for providing real-time developer feedback in an integrated development environment
View Patent ↗A system, method, and computer program product for providing real-time developer feedback are provided. The system includes a computer executing a source code editor; a feedback repository storing a programming language (PL) construct database, a profile database, and a general database; and a lexical analyzer executing on the computer. The analyzer parses code entered by a user into the editor. The constructs are used to search the construct database to determine a PL used in entering the code. The PL is used to search the construct database to determine a construct type. The analyzer searches the profile database for a developer profile of the user for the construct type. In response to a hit resulting from the search of the developer profile, the analyzer determines a frequency of occurrence of the construct type associated with the hit, identifies a cue assigned to the frequency of occurrence for the construct type, and delivers the cue to the computer.
1. A system for providing real-time developer feedback in an integrated development environment, comprising:
a computer device executing a source code editor;
a feedback repository in communication with the computer device, the feedback repository storing a programming language construct database, a developer profile database, and a general database; and
a lexical analyzer executing on the computer device and in communication with the source code editor, the lexical analyzer providing real-time developer feedback by performing a method, comprising:
parsing code entered into the source code editor by a user of the computer device, the code parsed into constructs as the code is typed into the source code editor;
using the constructs to search the programming language construct database to determine a programming language used in entering the code, the programming language construct database storing programming language constructs for each of a plurality of programming languages used in the integrated development environment;
using the programming language to search the programming language construct database to determine a construct type of the constructs;
searching a developer profile database for a developer profile of the user for the construct type, the developer profile storing a frequency of occurrence for constructs historically entered by, and specific to, the user in which an error occurred; and
in response to a hit resulting from the search of the developer profile:
determining a frequency of occurrence of the construct type associated with the hit;
identifying a visual cue assigned to the frequency of occurrence of the construct type and delivering the visual cue to the computer device, the visual cue displayed on a computer screen window in which the code entered by the user is displayed;
retrieving information relating to the construct type from the general database that includes tips about errors associated with the construct type in order to avoid making the errors; and
displaying the information on the computer device;
wherein frequencies of occurrence are categorized by high frequency, medium frequency, and low frequency, the frequencies of occurrence defined by members of the integrated development environment via the lexical analyzer.