Oliver Davies
5eba6de81a
This is a follow-up to commit 3be9031de8
as each daily email has a `permalink` value that overrides the default
content type permalink.
37 lines
1.2 KiB
Markdown
37 lines
1.2 KiB
Markdown
---
|
|
title: Conventions over readability?
|
|
date: 2024-03-08
|
|
permalink: daily/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?
|