Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Three Developer Abilities They Dont Teach In College

1.301 visualizaciones

Publicado el

A presentation for university students studying Computer Science about topics that are crucial at the workplace but not given as much attention at school

  • Sé el primero en comentar

Three Developer Abilities They Dont Teach In College

  1. 1. Three Developer -abilities they DON’T Teach in College<br />Jacinto A. Limjap, Jr.<br />Microsoft MVP for C#<br />Senior Application Developer for FBM e-Services<br />
  2. 2. It’s not that they don’t teach it <br />
  3. 3. Maintainability<br />A measure of how easy it is to understand, modify, and extend your code<br />
  4. 4. Maintenance?<br />
  5. 5. Facts you only find out at work<br />Writing new code is the first thing you do at school, but the LAST thing you do at work<br />
  6. 6. Facts you only find out at work<br />You WILL spend most of your time trying to understand the code some other person wrote<br />
  7. 7. Facts you only find out at work<br />“Maintenance typically consumes 40 to 80 percent of software costs” – Robert L. Glass<br />
  8. 8. Testability<br />The degree to which a system or component facilitates the establishment of test criteria and the performance of tests to find whether those criteria have been met<br />
  9. 9. Ask yourself<br />When there’s a bug, how easy is it to find out which part of your code to fix?<br />
  10. 10. Want it testable? Make it SOLID!<br />
  11. 11. Single Responsibility Principle<br />Your class should have one, and only one, reason to change<br />
  12. 12. Open Closed Principle<br />You should be able to extend a class’s behavior without modifying it<br />
  13. 13. Liskov Substitution Principle<br />Derived classes must be substitutable for their base classes<br />
  14. 14. Interface Segregation Principle<br />Make fine grained interfaces that are client specific<br />
  15. 15. Dependency Inversion Principle<br />Depend on abstractions, not on concretions<br />
  16. 16. Usability<br />The ease with which people can employ a particular tool or other human-made object in order to achieve a particular goal<br />
  17. 17.
  18. 18.
  19. 19.
  20. 20. Steve Krug’s First Law of Usability<br />
  21. 21. Usable software makes people happy<br />“Good UI sells software, but it also makes people happy, because people are happy when they accomplish the task they want to accomplish” – Joel Spolsky<br />
  22. 22. Your speaker<br />Blog:<br />Twitter:<br />Facebook:<br />
  23. 23. Learning to Distinguish a Solution from a Problem<br />Definition for testability:<br />The Principles of OOD<br />SOLID Development Principles – In Motivational Pictures<br />Simplicity<br />2006 Krug, Steve: Don’t Make Me Think: A Common Sense Approach to Web Usability<br />User Interface Design for Programmers<br />References<br />