The Perl and Raku Conference 2023 in Toronto
Attending this event?
Back To Schedule
Wednesday, July 12 • 10:30am - 11:20am
FizzBuzz goes Mainstream:, Presenting a live presentation of the RDD development system using Vim, User stories, Acceptance tests, OOP, TDD and GiT

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

We will use: - Google Sheet template to map out user stories, system input and outputs, and tracking time - Class::Tiny for OOP - Test::Class and Test2::V0 for TDD, unit_tests and mocks - Git for source control - and more
There should be something here for everyone. Hope to see you there!

We start with some “no-code” basics. We set a 15-minute timer and get busy! I will bring out a Google Sheets template and we start banging out new specs such as:
  • user_stories,
    • including simple_acceptance_test(s)
  • command line api’s
    • usage_screen
    • parameter details
      • constraints
      • defaults?
  • sample outputs 
  • sample inputs
  • schemas, constructors, classes
  • high level unit tests 
  • whatever else will sharpen that saw without bogging us down 
By now the timer should be complete and we decide to do it again or get busy coding.

Roll up your sleeves, now we get busy. We:
  • build environment directories
  • fire up Vim to create source code and test modules from templates
  • fire up a terminal and start your unit test scripts in the debugger
and ..let the games begin 

We move to TDD … short cycles of
  • write_a_test,
  • write_just_enough_code_to_pass_this_test
  • refactor_this_code"…
  • repeat many, many times
During these TDD iterations, we cover some basic OOP concepts. We will show polymorphism with a factory method and 3 different types of Fizzbuzz classes (If_else, Callback_Dispatch_table, and Label_append). We will also demonstrate abstraction with an “interface” class shared by each of these FizzBuzz classes.

FInally, we wrap this with a driver template (fizzbuzz.pl). This will collect CLI parms and be verified against the user story acceptance tests we built earler,

Throughout this demo, we will go thru a GIT “happy path” workflow of branching and merging to a local repo and finally pushing to your GitHub repo. 

There is a lot here. My intent is to cover that "20% content sweet_spot" that gives you 80% of the value.

avatar for JAN SAMBORSKI


Senior Systems Admin, IQVIA

Wednesday July 12, 2023 10:30am - 11:20am EDT
Track 1

Attendees (3)