Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>For decades programmers have often spent time making software <em>worse</em> by <strong>applying practices they don't understand, rather than learning why that practice is good.</strong> The use of certain tools/keywords/frameworkes can make a programmer feel sophisticated, when they're just screwing things up. Some common examples:</p> <ul> <li>Throwing in lots of try/catch/finally blocks can make a programmer feel like they have an error handling scheme, when in fact they don't.</li> <li>Replacing sql with stored procedures can make programmers feel like they have a data access layer that magically gives them efficiency, reuseability, encapsulation, when in fact they don't.</li> <li>Using classes makes many programmers believe they're engaging in object oriented programming, when in fact they aren't (or are only scratching the surface of OO).</li> </ul> <p>This list could go on forever. This tendency has always been around and always will be, because we humans always look for shortcuts. We see this a lot with <strong>patterns</strong> now because patterns are currently popular. The root problem is the same: developers not having a respect for how complicated software development is, and thinking a blindly implemented pattern or practice is a substitute for learning and humility.</p> <p>The solution? Difficult to say. You can't go to wrong though handing a junior developer <a href="http://rads.stackoverflow.com/amzn/click/0735619670" rel="nofollow noreferrer">Code Complete</a> or some such, to help them understand this is all about applying principles to <em>particular situations</em>, and that great developers keep it simple.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload