Semantic Refactoring: Difference between revisions
(Created page with "Proposed to Jasmin Jahic, for him to pass on to a colleague In many agile projects, the source code provides the master documentation of system functionality. When customers and users change their minds, refactoring tools help to adjust the source code structure, but one important documentation element can be neglected - the identifier names of variables, types, classes, and functions. In early versions of the code, these are usually clear and consistent. But after mont...") |
No edit summary |
||
Line 1: | Line 1: | ||
Proposed to Jasmin Jahic, for him to pass on to | Proposed to Jasmin Jahic, for him to pass on to an unnamed colleague, and also to Agnia at Jetbrains | ||
In many agile projects, the source code provides the master documentation of system functionality. When customers and users change their minds, refactoring tools help to adjust the source code structure, but one important documentation element can be neglected - the identifier names of variables, types, classes, and functions. In early versions of the code, these are usually clear and consistent. But after months or years of change negotiation, the names themselves get muddled, so that nobody can remember what has been agreed. Your task is to make a semantic refactoring tool, probably based on LLM technology, that updates all the identifier names in a code base, for internal consistency and to ensure agreement with user interfaces, tutorials, and contract documentation. | In many agile projects, the source code provides the master documentation of system functionality. When customers and users change their minds, refactoring tools help to adjust the source code structure, but one important documentation element can be neglected - the identifier names of variables, types, classes, and functions. In early versions of the code, these are usually clear and consistent. But after months or years of change negotiation, the names themselves get muddled, so that nobody can remember what has been agreed. Your task is to make a semantic refactoring tool, probably based on LLM technology, that updates all the identifier names in a code base, for internal consistency and to ensure agreement with user interfaces, tutorials, and contract documentation. |
Revision as of 13:56, 17 October 2024
Proposed to Jasmin Jahic, for him to pass on to an unnamed colleague, and also to Agnia at Jetbrains
In many agile projects, the source code provides the master documentation of system functionality. When customers and users change their minds, refactoring tools help to adjust the source code structure, but one important documentation element can be neglected - the identifier names of variables, types, classes, and functions. In early versions of the code, these are usually clear and consistent. But after months or years of change negotiation, the names themselves get muddled, so that nobody can remember what has been agreed. Your task is to make a semantic refactoring tool, probably based on LLM technology, that updates all the identifier names in a code base, for internal consistency and to ensure agreement with user interfaces, tutorials, and contract documentation.