
SOFTWARE CRAFTSMANSHIp
workshop
Hola !!


ouadie lahdioui
IT Consultant >
@lahdiouiouadie

WHO WORK IN AGILE environment ?



What is software craftsmanship ?





coding dojo ?

Are you ready for A ...


Is a team practice format that accelerates knowledge transfer and sharing skills between team members, it is also a way of learning by applying various techniques


to do pair programming
So, Choose your partner


A social skill to create the code by two people working together on a single computer



this is you >
> is your PARTNER


the next sprint
but



your PARTNER will be the >
> will be you


write test first
Rule # 1 : You should


write test
write code
refactor

NAVIGATOR <> Driver
Test driven development (TDD)


to give feedback to a lucky pair
Rule # 2 : In the end
we will do code review


let's go
<coding time>


a two player game in which the players take turns dropping coloured tokens into a 7x6 grid of slots. The aim of the game is to be the first to form a horizontal, vertical, or diagonal line of four discs

kata : connect four


See the test cases > https://agilekatas.co.uk/katas/ConnectFour-Kata


code review
</>


A systematic examination of source code to find and FIX mistakes overlooked in the initial development phase and improving both the quality of software and the developers' skills


some PRINCIPLES
you SHOULD keep in mind


keep your code solid
PRINCIPLE # 1
S - single responsability
o - open closed
l - liskov substitution
i - interface segregation
D - dependency inversion


Don't live with broken windows
PRINCIPLE # 2



YOU AREN'T GONNA TO NEED IT
PRINCIPLE # 3 : YAGNI


KEEP IT SIMPLE, STUPID
PRINCIPLE # 4 : KISS


DON'T REPEAT YOURSELF
PRINCIPLE # 4 : DRY


THE BOY SCOUT RULE
PRINCIPLE # 6 : BSR



Egoless Programming
I'M IN WITH THIS ONE



3) Understand and accept that you will make mistakes
4) You are not your code
5) Treat people who know less than you with respect, deference, and patience
1) Critique code instead of people – be kind to the coder, not to the code
2) No matter how much "karate" you know, someone else will always know more
6) The only true authority stems from knowledge, not from position
7) Don't be "the guy in the room"


9) The only constant in the world is change
10) Fight for what you believe, but gracefully accept defeat
8) Don't rewrite code without consultation


@lahdiouiouadie
Thanks for having me >

Software Craftsmanship workshop
By Ouadie LAHDIOUI
Software Craftsmanship workshop
NodeConf Barcelona 2017
- 1,468