Summer 2016 code review
What we did this summer
and some code notes
Part 1
What we're doing this fall
and how in the world we could possibly ever get there
Part 2
what's new
We are larger than ever

We're done developing the new FT interface

Database dumps are MUCH smaller

We discovered HTTP status dogs

Turns out Prawn isn't that terrible

We tested some stuff?

some code
underscore in irb
# If you don't remember to do:
handy_variable = MyModel.some_complex_query.pluck :user_id
# => [1, 2, 3]
handy_variable.map{ |id| User.find id }
# => [#<User id: 1 ...>, #<User id: 2...>, ...]
# You can use underscore in irb / rails c:
MyModel.some_complex_query.pluck :user_id
# => [1, 2, 3]
_.map{ |id| User.find id }
# => [#<User id: 1 ...>, #<User id: 2...>, ...]the "method" method
# You can write:
require 'prawn'
require 'nokogiri'
require 'figaro'
# ...
# Or:
dependencies = %w(prawn nokogiri figaro ...)
dependencies.each{|r| require r }
# Or:
dependencies = %w(prawn nokogiri figaro ...)
dependencies.each &method(:require)what now?
Microservices

We start with Survey!
- One-way communication
- Only IT uses it
- Used only a few times a month

So what's the gameplan?
3 teams build the pieces:
- Microservices architecture
- Standalone Survey service in Rails 5
- Round-three data-serving JSON endpoints
Microservices architecture
- Ruby gem / series of Ruby gems
- One central routing app / Rails engine
- Service detection
- Standardized way of "reaching" for data across services
Rails 5 surveys service
- Find out what's new in Rails 5
- Replicate existing round-three views
- Revisit Survey model(s) for complexity
- Stub data for now
Round-three conversion
- Find models that Survey depends on
- Create endpoints for serving that data
- Remove existing Survey code
- Jump on other teams, probably
so what changes?
Focused collaboration
Focused collaboration

Only critical or blocking bugfixes

Documentation is more important
Focused collaboration

We need to check in more regularly
Focused collaboration

... but we're not alone out here
Focused collaboration

A fresh take on web design?
Focused collaboration
Questions for the group
-
Code reviews?
-
Record code reviews?
-
Is Rails still right for us?
-
How can we get help?
Let's break into teams!
Summer 2016 code review
By David Faulkenberry
Summer 2016 code review
What we did over the summer and some code notes
- 722