On Github jonwolski / serp-presentation
The Single Essential Responsibility Principle
Jon Wolski
DaveRamsey.com
DevelopWithPurpose.com
I ♥ DESIGN
First, a little foundation…
incidental
Can software go bad?
It's code; it doesn't change unless you change it.
function calculate_tax_and_shipping( line_item, shipping_address, billing_address ) { var tax_amount = line_item.price * line_item.qty * get_tax_rate_for_state( billing_address.state ); var shipping_amount = calculate_shipping_rate( line_item.weight, line_item.qty, shipping_address ); return tax_amount + shipping_amount; }
function calculate_shipping( line_item, shipping_address ) { return calculate_shipping_rate( line_item.weight, line_item.qty, shipping_address ); } function calculate_tax( line_item, billing_address ) { return line_item.get_total() * get_tax_rate_for_state( billing_address.state ); }
class User < ActiveRecord::Base has_many :accounts def someBusinessDomainMethods … end end
@entity class Payment { public someBusinessDomainMethods() { … } }
Jon Wolski jon.wolski@daveramsey.com