37 lines
1.2 KiB
Markdown
37 lines
1.2 KiB
Markdown
|
---
|
||
|
title: Conventions over readability?
|
||
|
date: 2024-03-08
|
||
|
permalink: archive/2024/03/08/conventions-over-readability
|
||
|
tags:
|
||
|
- software-development
|
||
|
- clean-code
|
||
|
# - php
|
||
|
# - podcast
|
||
|
cta: ~
|
||
|
snippet: |
|
||
|
Which is more important? To write readable code or following existing conventions?
|
||
|
---
|
||
|
|
||
|
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?
|