I previously wrote about why you shouldn't use variable names like `$x` and `$y` in your code and why you should use more descriptive names.
But what if there is an existing convention?
For example, I use Lua to configure Neovim and noticed that it's common to use shortened variable names, such as `buffer` instead of `buffer_number` or `bufferNumber`.
It's also common to use the variable `M` to declare a module. For example:
```language-lua
local M = {}
M.find_files = function()
// ...
end
return M
```
Whilst `Module` would be a more descriptive name, would deviating from the convention be more confusing for anyone reading the code?
Do the benefits of following a convention outweigh the benefits of using more descriptive variable and function names?
Which would be easier for newcomers to your project or team to understand and allow them to be productive sooner?