Difference between revisions of "BarnCamp 2017 workshop proposals"

From HacktionLab: A UK-wide network tech-activists providing meet-ups, events, workshops, national skillshare gatherings and hacklabs
Jump to navigation Jump to search
Line 25: Line 25:
 
* performing minuscule iterative improvements
 
* performing minuscule iterative improvements
 
* how we can use test driven development to make this process safer.
 
* how we can use test driven development to make this process safer.
 +
 +
Programming language: undecided but will try to cover a number of different ones in the examples, and for the practical will look at something everyone can get up and running, hopefully in a web browser, but popular, such as Python, Ruby or JavaScript.

Revision as of 13:57, 22 August 2016

Coding

Keeping your code clean

Proposed by
adelayde
Time
3-4 hours
Level
experience of programming at a intermediate to advanced level, or beginners who are keen to get into coding.
Resources
projector, sound, laptop (have one), this may be suitable for active workshop in the second part.
Number
up to 30 with people working in pairs or mobs for Part II

Part I (talk/discussion): No matter if you're new to coding, or a seasoned coder, applying the principals of Clean Code can help you maintain and understand your own code, especially when you come back to it six months later. Applying Clean Code principals to code makes modularisation and reusability easier, aids other programmers who may want to work on your code, aids with self-documentation, and sets the foundation for adopting test driven development. In the workshop we'll address how:

  • small is beautiful
  • simple is best
  • comments suck
  • reusability is king
  • code should be crafted not thrown at the screen
  • readability trumps cleverness and complexity

Part II (practical workshop): But what about that horrible code you're having to work on that somebody else, or even you, wrote? We'll also have a look at how to tackle nasty, unreadable, spaghetti, untestable legacy code; how we can gradually improve it in small, iterative steps; and ultimately how we can get it into shape, rather than just throwing our arms in the air and re-coding the whole lot. We'll cover:

  • identifying ways in to legacy code
  • performing minuscule iterative improvements
  • how we can use test driven development to make this process safer.

Programming language: undecided but will try to cover a number of different ones in the examples, and for the practical will look at something everyone can get up and running, hopefully in a web browser, but popular, such as Python, Ruby or JavaScript.