$30 off During Our Annual Pro Sale. View Details »

Apps That Talk Back (Codementor)

Apps That Talk Back (Codementor)

Rebecca Murphey

March 25, 2015
Tweet

More Decks by Rebecca Murphey

Other Decks in Technology

Transcript

  1. Apps That Talk Back Rebecca Murphey @rmurphey rmurphey.com

  2. None
  3. “Digital interactions”—whether through desktops, laptops, tablets or smartphones— will influence

    half of all retail store sales this holiday season. Deloitte
  4. ★★★ ➞ $$$

  5. None
  6. None
  7. ★★★ ➞ $$$

  8. Apps That Talk Back Rebecca Murphey @rmurphey rmurphey.com

  9. service monitoring error tracking performance metrics production debugging safety nets

  10. None
  11. None
  12. None
  13. None
  14. None
  15. BVTracker.error('No  productId  is  defined');

  16. BVTracker.error({      name  :  errorMessages.IMPLEMENTATION,      detail1  :

     'No  productId  is  defined',      detail2  :  component.name   });
  17. define({      errors  :  {        

     IMPLEMENTATION  :  'Implementation  Error',          API  :  'API  Error',          UNCAUGHT  :  'Uncaught  Exception',          CONFIG  :  'Configuration  Error',          THIRD_PARTY  :  'Third  Party  Service  Error',          TIMEOUT  :  'Request  Timeout',          UI  :  'User  Interface  Error',          FRAMEWORK  :  'Framework  Error'      }   });
  18. None
  19. None
  20. None
  21. None
  22. None
  23. None
  24. None
  25. None
  26. None
  27. None
  28. var  spawn  =  require('child_process').spawn;   var  command  =  'grunt';  

    var  commandOpts  =  ['check:push'];   function  onExit  (code)  {      if  (code  !==  0)  {          throw  new  Error('Prepush  check  failed  with  exit  code:  '  +  code);      }      process.exit(code);   }   //  Run  it  !!   var  child  =  spawn(  command,  commandOpts,  {  stdio  :  'inherit'  }  );   child.on('exit',  onExit);  
  29. BVReporter.assert(      this.componentId,        'View  '  +

     this.name  +  '  must  have  componentId'   );
  30. None
  31. None
  32. None
  33. ✅ assertions ✅ git hooks (jshint, jscs, unit tests) ✅

    error classification & reporting ✅ production monitoring ✅ production debugging ✅ build size monitoring ✅ performance instrumentation ⬆️ error alerting ⬆️ performance monitoring ❌ performance budget
  34. @rmurphey ~ rmurphey.com bazaarvoice.com