Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dealing with legacy code - Valencia Codes Level...

Dealing with legacy code - Valencia Codes Level Up #3

Presentation for the Valencia Codes meetup on June 1st, 2022.

https://www.meetup.com/valencia-codes/events/285716636/

Behaviour driven development, BDD, will help you work with any codebase.

BDD, TDD, linux, containers

Avatar for jm2dev

jm2dev

June 02, 2022
Tweet

More Decks by jm2dev

Other Decks in Programming

Transcript

  1. DEALING WITH LEGACY DEALING WITH LEGACY DEALING WITH LEGACY DEALING

    WITH LEGACY DEALING WITH LEGACY DEALING WITH LEGACY DEALING WITH LEGACY DEALING WITH LEGACY DEALING WITH LEGACY DEALING WITH LEGACY DEALING WITH LEGACY DEALING WITH LEGACY CODE CODE CODE CODE CODE CODE CODE CODE CODE CODE CODE CODE José Miguel June 1, 2022
  2. INTRODUCTION INTRODUCTION INTRODUCTION INTRODUCTION INTRODUCTION INTRODUCTION INTRODUCTION INTRODUCTION INTRODUCTION INTRODUCTION

    INTRODUCTION INTRODUCTION who am I? staff software engineer @ zscaler passionate about OSS
  3. STRATEGY STRATEGY STRATEGY STRATEGY STRATEGY STRATEGY STRATEGY STRATEGY STRATEGY STRATEGY

    STRATEGY STRATEGY reliability confidence joy tests automate
  4. add(myArray, item) returns an array with bigger size Given a

    collection and an item When that item is added to that collection Then collection size increases
  5. DO ONE THING WELL DO ONE THING WELL too many

    asserts -> testing too much?
  6. const suma = (a, b) => { return a +

    b; } it('suma(2,3) = suma(3, 2)', () => { expect(suma(2, 3)).toBe(suma(3, 2)); });
  7. const suma = (a, b) => { return a +

    b; } describe('Addition', () => { describe('given two numbers', () => { it('must return the same result independently of their order', () => { expect(suma(2, 3)).toBe(suma(3, 2)); }); }); });
  8. PASS ./suma.test.js ✓ suma(2,3) = suma(3, 2) (1 ms) PASS

    ./suma.test.js Addition given two numbers ✓ must return the same result independently of their order (2 ms)
  9. TOOLING TOOLING TOOLING TOOLING TOOLING TOOLING TOOLING TOOLING TOOLING TOOLING

    TOOLING TOOLING containers wiremock automate: make build make run
  10. BY THE WAY BY THE WAY BY THE WAY BY

    THE WAY BY THE WAY BY THE WAY BY THE WAY BY THE WAY BY THE WAY BY THE WAY BY THE WAY BY THE WAY we’re hiring
  11. FOLLOW UP FOLLOW UP FOLLOW UP FOLLOW UP FOLLOW UP

    FOLLOW UP FOLLOW UP FOLLOW UP FOLLOW UP FOLLOW UP FOLLOW UP FOLLOW UP @jm2dev
  12. Q & A Q & A Q & A Q

    & A Q & A Q & A Q & A Q & A Q & A Q & A Q & A Q & A