oliverdavies.uk/content/node.a8f06c67-81eb-471c-9081-0648c9400e27.yml

85 lines
5.3 KiB
YAML

uuid:
- value: a8f06c67-81eb-471c-9081-0648c9400e27
langcode:
- value: en
type:
- target_id: daily_email
target_type: node_type
target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7
revision_timestamp:
- value: '2025-05-11T09:00:51+00:00'
revision_uid:
- target_type: user
target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849
revision_log: { }
status:
- value: true
uid:
- target_type: user
target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849
title:
- value: |
Commit and push something every day
created:
- value: '2022-12-02T00:00:00+00:00'
changed:
- value: '2025-05-11T09:00:51+00:00'
promote:
- value: false
sticky:
- value: false
default_langcode:
- value: true
revision_translation_affected:
- value: true
path:
- alias: /daily/2022/12/02/commit-and-push-something-every-day
langcode: en
body:
- value: |
<p>One of the significant changes that I've found and that's benefitted me whilst developing is to commit and push something every day.</p>
<p>It doesn't need to be a whole feature. It could be a new class with its passing tests, but it isn't used anywhere yet, so it won't affect the existing functionality, or it could be a new test for some existing functionality that was missing previously.</p>
<p>It could be a small refactor - renaming a variable or class name that makes some code easier to read or removing some commented-out code that isn't doing anything other than adding visual clutter.</p>
<p>It could be updating some documentation or <a href="/daily/2022/09/23/adrs-technical-design-documents">writing a technical document</a>; if you keep those in your version control repository, that would help you implement the following change or to make the documentation clearer for the next reader - whether that's you or someone else.</p>
<p>Committing something at least once a day creates a different mindset to "I'll write everything and push it when it's done".</p>
<p>It makes you break up large tasks into multiple smaller ones and set mini-deadlines for yourself. I used to do the same when I commuted to work on a train and had a task for a freelance project to complete before I arrived. I used to think, "What can I start, finish and commit before I get there?" instead of leaving something incomplete.</p>
<p>You don't need to push your change to mainline. If you use the <a href="/daily/2022/11/30/ship-show-or-ask">"Ship, Show, Ask" approach</a> then you could commit to a temporary branch that you either merge yourself once you know it passes the checks, or to show or get feedback from other team members.</p>
<p>Practicing this becomes a habit, and if you're doing test-driven development and committing after every passing test or refactor, you'll find yourself pushing numerous changes a day.</p>
<p>This became my normal approach instead of having long-lived feature branches or lots of unpushed local commits.</p>
<p>I much prefer making as small charges as possible and pushing them as often as I can.</p>
format: full_html
processed: |
<p>One of the significant changes that I've found and that's benefitted me whilst developing is to commit and push something every day.</p>
<p>It doesn't need to be a whole feature. It could be a new class with its passing tests, but it isn't used anywhere yet, so it won't affect the existing functionality, or it could be a new test for some existing functionality that was missing previously.</p>
<p>It could be a small refactor - renaming a variable or class name that makes some code easier to read or removing some commented-out code that isn't doing anything other than adding visual clutter.</p>
<p>It could be updating some documentation or <a href="/daily/2022/09/23/adrs-technical-design-documents">writing a technical document</a>; if you keep those in your version control repository, that would help you implement the following change or to make the documentation clearer for the next reader - whether that's you or someone else.</p>
<p>Committing something at least once a day creates a different mindset to "I'll write everything and push it when it's done".</p>
<p>It makes you break up large tasks into multiple smaller ones and set mini-deadlines for yourself. I used to do the same when I commuted to work on a train and had a task for a freelance project to complete before I arrived. I used to think, "What can I start, finish and commit before I get there?" instead of leaving something incomplete.</p>
<p>You don't need to push your change to mainline. If you use the <a href="/daily/2022/11/30/ship-show-or-ask">"Ship, Show, Ask" approach</a> then you could commit to a temporary branch that you either merge yourself once you know it passes the checks, or to show or get feedback from other team members.</p>
<p>Practicing this becomes a habit, and if you're doing test-driven development and committing after every passing test or refactor, you'll find yourself pushing numerous changes a day.</p>
<p>This became my normal approach instead of having long-lived feature branches or lots of unpushed local commits.</p>
<p>I much prefer making as small charges as possible and pushing them as often as I can.</p>
summary: null
field_daily_email_cta: { }