Beyond code
Work in teams, companies
and... real life ;)
Guillaume FAURE-DUMONT
@guillaume_fd
Learning
vs.
Team / Company
- Chain of command
- History (code lives!)
- Legacy code
- Future of code
COMMUNICATION
IS
KEY
COM with the client
- Always work for the CLIENT'S BUSINESS NEED
- The dev adapts to the client
- The client doesn't become a dev
- Real users are different from you
- Click everywhere and break things
- Notions change worldwide (what's a name ?)
- Code reflects business
- Tests titles are comprehensible to the client!
Fils unique mais c'est important quand même
COM with colleagues (1/3)
- Including
- Past ones (they already left)
- Futur ones
- Some you'll never meet (but who knows ?)
COM with colleagues (2/3)
- Code comments (very debatable !)
- Agree on COMMON GROUNDS
- Naming Convention => NC
- Languages have constrainsts
- You'll end up with the same NC as everybody !
- "Convention over configuration"
- Naming Convention => NC
- Workflow common ground too !
COM ... how ? (3/3)
- Start with the big picture
- Go towards the finer grains
- Decreasingly ;)
- Usable in all circumstances
- Clients
- Colleagues
- Family & friends ;)
- INTERNET !
- Be honest !
- Impostor syndrome
- Impostor syndrome
Task Management
- Increase motivation
- Reduce chaos
- but sometimes chaos is good !
- Dependency of work between people
Trello / Pivotal Tracker / Jira / else ?
Choose a tool you (will) like to use !
GIT
Branches branches branches ...
https://danielkummer.github.io/git-flow-cheatsheet/
Do NOT use git flow for now !!
- Never lose a line of code
- Never erase your colleague's work
- GO BACK IN TIME!
- Get rid of commented out code!
GIT
git status git checkout -b 06951_my_incredible_feature git push => HELL YEAH !! ... git status git add ### git commit -m "[#06951] Adds validation to m..." git status git push git checkout master git pull --prune git checkout - git merge master ... git push
Continuous Integration - CI
- Code (almost) only forward
CircleCI / GitLab / Travis, etc...
TESTS
DEPLOY NOW !
- Going live is the only (real) way to test your code
- PROD environment is different from your laptop
- "It works on my laptop"
- Understand your new problems
- DNS
- Logs
- Database updates
- Backups
- SSL
- ...
- ReDeploy as often as possible !
Continuous Delivery - CD
Probably only for companies but ... who knows ? ;)
- Automatically deploy code based on prerequisites
- Easy testing
- Quality confidence
- Beware of costs !!
- Especially with services...
Final words
- DO SOMETHING !
- You'll probably fail ;)
- That's how you LEARN
- Improve
- You'll probably fail ;)
- REPEAT
- About real final projects
- ParisRB, ParisRubyWorkshop
- WomenOnRails, MentorsOnRails
- ZikMe
Q & A
Guillaume FAURE-DUMONT
@guillaume_fd
Se tenir informé:
- RubyWeekly
- & StatusCode ?
Continuer à coder:
- CodeWars
- Repl.it
Explorer de nouveaux rivages:
- ES6 (Javascript mais en bien)
- THP Next ?
- Autres langages ?
## Ruby
Module & Classes: UpperCamelCase
methodes: snake_case
variable: snake_case
constantes: UPPER_CASE
## JS
Module & Classes: UpperCamelCase
methodes: camelCase
variable: camelCase
constantes: UPPER_CASE
filename: product-name.plugin-ver.sion.filetype.js
## CSS
BEM ! http://getbem.com/ .block__element--modifier
NO
filename: product-name.plugin-ver.sion.filetype.css
L'histoire des noms :
https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/
Amy Cuddy "Fake it until you make it" :
https://www.youtube.com/watch?v=Ks-_Mh1QhMc
Beyond code @ THP Winter 2022
By Guillaume Faure-Dumont
Beyond code @ THP Winter 2022
- 293