44 lines
2 KiB
Markdown
44 lines
2 KiB
Markdown
---
|
|
title: Do you really need it?
|
|
date: 2024-02-10
|
|
permalink: daily/2024/02/10/do-you-really-need-it
|
|
snippet: |
|
|
Do you really need that new feature? What are the long-term implications of adding it?
|
|
tags:
|
|
- software-development
|
|
---
|
|
|
|
{% block content %}
|
|
Before adding a new feature or change to a codebase, ask if it's really needed and consider its long-term implications.
|
|
|
|
Code is easy to write, but needs to be maintained as newer language or framework features are added or have breaking changes.
|
|
|
|
Something I've added recently to Build Configs was an option to use an [inclusive or exclusive .gitignore file][gitignore].
|
|
|
|
Whilst it's only adding an if condition based on a value, it adds a separate path in my code and both need to be maintained.
|
|
|
|
I've been thinking of adding `just` again to some projects instead of a `run` file, which would add separate files that need to be maintained and kept up-to-date with each other so both offer the same features.
|
|
|
|
Is this something I want to maintain going forward? Does it add enough value to justify its maintenance?
|
|
|
|
Different to a feature flag, which usually has a known lifespan, this could need be maintained for the whole lifespan of the application.
|
|
|
|
On a client project, this could be having two sets of buttons with rounded and square corners.
|
|
|
|
Do we need both?
|
|
|
|
It could be the positioning of a title in a header. Fewer options mean there is less code to write and maintain.
|
|
|
|
In a Drupal project, each choice could mean adding a different field, taxonomy term, or content or block type to achieve the desired result.
|
|
|
|
The more we can achieve with fewer options means the application will be easier to maintain and work on in the future.
|
|
|
|
[gitignore]: {{site.url}}/daily/2024/01/27/gitignore-inclusive-or-exclusive
|
|
{% endblock %}
|
|
|
|
{% block cta %}
|
|
P.S. Do you need immediate access to an expert Drupal Developer? [With my Drupal development subscription][subscription], make unlimited requests for a fixed monthly price in less time than posting to a job board!
|
|
|
|
[subscription]: {{site.url}}/subscription
|
|
{% endblock %}
|