Skip to content

Instantly share code, notes, and snippets.

View MatteoPierro's full-sized avatar

Matteo Pierro MatteoPierro

View GitHub Profile
interface GameRulesInputBoundary
void moveSouth()
end
interface GameRulesOutputBoundary
void moveSouthSucceed()
end
class GameRules implements GameRulesInputBoundary
def init(GameRulesOutputBoundary outputBoundary)
@xpepper
xpepper / LondonVsChicago.md
Last active November 4, 2023 22:57
London vs Chicago, Comparative Case Study - Sandro Mancuso and Uncle Bob

My notes on the video series "London vs Chicago TDD styles" by Uncle Bob And Sandro Mancuso

The git repo of the kata is here: https://github.com/sandromancuso/cleancoders_openchat/

The "starting-point" branch is where both implementations began: https://github.com/sandromancuso/cleancoders_openchat/tree/starting-point

  • The 🇬🇧 "openchat-outside-in" branch captures the tomato by tomato history of the London approach.
  • The 🇺🇸 "openchat-unclebob" branch captures the tomato by tomato history of the Chicago approach.

What I like about Sandro's style 👍

Takeaways from TDD and Software Design

video

  • TDD by its own CANNOT leads to good design, obviously
  • TDD as a mechanism to help us to learn more about good design
  • Software is "Soft" just because it can be changed, it is not meant to be settled in the stone
  • Test-first programming can help the team to reduce defects but it will not lead to good design

Code qualities

@daniele-xp
daniele-xp / gitlog.sh
Last active December 20, 2017 10:59
Git log script for TR in Phoenix and MobilePOS code reviews
#!/bin/bash
LOG_START_DATE="2016-01-01"
function log(){
cardNumber=$1
options=""
if [ "x$2" = "xdiff" ] ; then
options="$options --stat -p"