A car magazine once declared that a car has "character" if it takes 15 minutes to explain its details before it can be loaned to a friend. By that standard, every piece of software has character -- all too often, right out of the box.
Programming mistake No. 1: Playing it fast and loose
Failing to shore up the basics is the easiest way to undercut your code. Often this means overlooking how arbitrary user behavior will affect your program. Mistakes in the smallest places cause software to fail.
Mistake No. 2: Overcommitting to details
On the flip side, overly buttoned-up software can slow to a crawl. Checking a few null pointers may not make much difference, but some software is written to be like an obsessive-compulsive who must check that the doors are locked again and again so that sleep never comes.
Mistake No. 3: Not simplifying control
Too often, developers invite disaster by not simplifying control over tasks in their code.
Mistake No. 4: Delegating too much to frameworks
Sometimes the magic tools lead only to confusion. By abstracting functionality and assuming what we want, frameworks can all too often leave developers at a loss for what's gone wrong in their code.
Mistake No. 5: Trusting the client
Many of the worst security bugs appear when developers assume the client device will do the right thing.
For example, code written to run in a browser can be rewritten by the browser to execute any arbitrary action. If the developer doesn't double-check all of the data coming back, anything can go wrong.
Mistake No. 6: Not trusting the client enough
Sometimes too much security can lead paradoxically to gaping holes. Just a few days ago, I was told that the way to solve a problem with a particular piece of software was just to "chmod 777" the directory and everything inside it.
Mistake No. 7: Relying too heavily on magic boxes
Worried about security? Just add some cryptography. Want your databases to be backed up? Just push the automated replication button. Don't worry. The salesman said, "It just works."
Mistake No. 8: Reinventing the wheel
Then again, making your own yogurt, slaughtering your own pigs, and writing your own libraries
just because you think you know a better way to code can come back to haunt you.
Mistake No. 9: Opening up too much to the user
Programmers love to be able to access variables and tweak many parts of a piece of software, but most users can't begin to even imagine how to do it.
Mistake No. 10: Overdetermining the user experience
Some developers decide to avoid the trouble of too many features by offering exactly one solution. Gmail is famous for offering only a few options that the developers love. You don't have folders, but you can tag or label mail with words, a feature that developers argue is even more powerful.
Mistake No. 11: Closing the source
One of the trickiest challenges for any company is determining how much to share with the people who use the software.
Mistake No. 12: Assuming openness is a cure-all
Millions of open source projects have been launched, and only a tiny fraction ever attract more than a few people to help maintain, revise, or extend the code. In other words, W.P. Kinsella's "if you build it, they will come" doesn't always produces practical results.
About Me
- Kamal's Blog
- Colombo, Sri Lanka
- Professional Report/ Technical/ Blog/ Academic and Ghost Article Writer,Application Developer, Database Administrator, Content Creator and Project Manager in a wide variety of business & enterprise applications. Particularly interested in client/server and relational database design using MS-SQL Server & Oracle. Always interested in new hi-tech projects, as well as close interaction with the DB querying & reporting. Also a specialist in Education Management. Actively seeking the processes for merging Enterprise Lean Sigma (ELS) with IT.
No comments:
Post a Comment