Terminology and naming conventions for the CodeSuggestions namespace

Problem

In our codebase, I've noticed that we lack consistency when it comes to the terminology and naming conventions used within our CodeSuggestions namespace. In different parts of the code, we use various terms to represent the same concept, which can lead to confusion.

For instance, the following terms used interchangeably:

  • content, prefix, content_above_cursor
  • suffix, content_below_cursor
  • method, function

Solution

To address this, I propose that we decide on a set of terms and naming conventions within the CodeSuggestions namespace.

Suggestion

I would suggest the following terms, and then we can decide and iterate on them.

  • content_above_cursor - Provides more information comparing to content or prefix.
  • content_below_cursor - Provides more information than suffix
  • function - While "subroutine" may be a common alternative, "function" is more widely recognized and easier to understand. Of course, some programming languages as Ruby use only term "method", but we look here into comparison across many programming languages.

By implementing these suggestions, I believe we can improve the readability, maintainability, and collaboration within our codebase, leading to a more efficient and effective development process.

Related to #430912 (closed)