Advertisement

Untitled talk at Riviera.rb

Sep. 1, 2014
Advertisement

More Related Content

Advertisement

Untitled talk at Riviera.rb

  1. riviera.rb This Talk Has No Title Yet Jean-Baptiste Mazon @jbmazon
  2. May contain trace amounts of ● ruby (twitter request) ● beer ● Java 8 ● one or two other obscure languages ● no livecoding
  3. GoF ● abstract factory ● builder ● factory method ● prototype ● singleton ● adapter ● bridge ● composite ● decorator ● facade ● flyweight ● proxy ● chain of responsibility ● command ● interpreter ● iterator ● mediator ● memento ● observer ● state ● strategy ● template method ● visitor
  4. Multiton
  5. Multiton
  6. RAII
  7. RAII ● Resource Acquisition Is Initialization ● C++ ● Perl, Python, PHP ● CADR
  8. Speaking of Lisp
  9. Norvig ● abstract factory ● builder ● factory method ● prototype ● singleton ● adapter ● bridge ● composite ● decorator ● facade ● flyweight ● proxy ● chain of responsibility ● command ● interpreter ● iterator ● mediator ● memento ● observer ● state ● strategy ● template method ● visitor
  10. Wired ● master/slave ● CSMA/CD ● token ring ● sneakernet
  11. Locking ● acquire ● release ● read-write lock ● deadlock ● spinlock
  12. Antipatterns ● race hazard ● input kludge ● busy waiting ● magic numbers ● magic strings ● action at a distance ● error hiding ● magic pushbutton ● hard code ● soft code ● database-as-IPC ● programming by permutation ● copy and paste programming ● cargo cult programming
  13. Cargo Cult
  14. Error Hiding begin ImportFile(filename) rescue raise SomeException, 'import failed' end
  15. Modeling ● anemic domain model ● BaseBean ● circle-ellipse ● god class, god object
  16. Design
  17. Design ● spaghetti code ● ravioli code ● lasagna code ● big ball of mud ● inner-platform effect ● tester driven development
  18. Maintenance ● circular dependency ● dependency hell ● DLL hell ● JAR hell ● boat anchor
  19. A few others ● gold plating ● golden hammer ● silver bullet ● not invented here ● invented here ● premature optimization ● repeating yourself ● reinventing the square wheel ● abstraction inversion ● pattern abuse and overuse
  20. Consider this simple code [-]+++++++++++++++ +++++++++++++++++++ +++++++++++++++++++ +++++++++++++++++++ .---.+++++++..+++.
  21. Simplifying def h puts 'HELLO' end h h h h
  22. A last one
  23. Thank you!
Advertisement