Three Developer Abilities They Dont Teach In College
-
Upload
jacinto-limjap -
Category
Documents
-
view
1.029 -
download
2
description
Transcript of Three Developer Abilities They Dont Teach In College
Jacinto A. Limjap, Jr.
Microsoft MVP for C#
Senior Application Developer for FBM e-Services
*Three Developer -abilities they DON’T Teach in College
*It’s not that they don’t teach it
*MaintainabilityA measure of how easy it is to
understand, modify, and extend your code
*Maintenance?
*Facts you only find out at work
*Writing new code is the first thing you do at school, but the LAST thing you do at work
*Facts you only find out at work
*You WILL spend most of your time trying to understand the code some other person wrote
*Facts you only find out at work
*“Maintenance typically consumes 40 to 80 percent of software costs” – Robert L. Glass
*TestabilityThe 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
*Ask yourself
*When there’s a bug, how easy is it to find out which part of your code to fix?
*Want it testable? Make it SOLID!
*Single Responsibility Principle*Your class should have one, and only one,
reason to change
*Open Closed Principle*You should be able to extend a class’s
behavior without modifying it
*Liskov Substitution Principle*Derived classes must be
substitutable for their base classes
*Interface Segregation Principle*Make fine grained interfaces that
are client specific
*Dependency Inversion Principle*Depend on abstractions, not on concretions
*UsabilityThe ease with which people can employ
a particular tool or other human-made object in order to achieve a particular
goal
*Steve Krug’s First Law of Usability
*Usable software makes people
happy
*“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
*Your speaker
*Blog: http://dotnet.kapenilattex.com
*Twitter: http://twitter.com/LaTtEX
*Facebook: http://facebook.com/LaTtEX
*References
*Learning to Distinguish a Solution from a Problem http://www.computer.org/portal/web/buildyourcareer/fa010
*Definition for testability: http://www.aptest.com/glossary.html
*The Principles of OOD http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod
*SOLID Development Principles – In Motivational Pictures http://www.lostechies.com/blogs/derickbailey/archive/2009/02/11/solid-development-principles-in-motivational-pictures.aspx
*Simplicity http://stuffthathappens.com/blog/2008/03/05/simplicity/
*2006 Krug, Steve: Don’t Make Me Think: A Common Sense Approach to Web Usability
*User Interface Design for Programmers http://www.joelonsoftware.com/uibook/fog0000000249.html