Coding Dojo

web-development-best-practices

Getting It Right the First Time: 8 Web Development Best Practices to Avoid Derailing Your Project

Every new web development project begins with a sense of optimism that everything will move forward without a glitch. Of course, even the best web developers can tell you that things will happen, which don’t go according to plan. The good news is that steps can be taken from day one, and throughout the development process, to increase the odds of smooth sailing.

8 Web Development Best Practices

  1. Understand the big picture. Some developers love to code so much that they skip the first step — planning — and end up writing code over and over again. First ask, what’s the overall intention, or bigger picture of the project? This leads to understanding priorities and not getting bogged in the insignificant details that may steer you off course.
  2. Start with the user experience. Paper or a mock-up are cheap to change compared to the cost of scrapping a project your users don’t want to use. A good rule of thumb to remember is that 70 percent of development efforts should be spent on research and design, and then the final 30 percent on programming. By understanding the potential user, and creating a user-friendly design, the development phase will significantly less complex!
  3. Write smarter, not more.  Don’t make something too clever. Every line of code you write should have a definite and necessary purpose. Overproducing code is the figurative equivalent to asking for bugs. Each piece of code should solve a problem or provide a feature necessary to the function of the page.
  4. Don’t reinvent the wheel. Imagine you’re building a house. Would you rather start with a bare piece of land, or a nearly constructed house where all you can focus on laying carpet, painting and installing appliances and landscaping? In application development, a framework provides a structure in which you can build on instead of starting from scratch. Not only does it save time, but it helps less experienced developers build better quality applications and reduces potential for errors.
  5. Be nimble to avoid pitfalls. Lean, Agile, Scrum, XP — you pick. Don’t let a huge feature hold your timeline hostage and aim to be “always shippable.” In other words, instead of hitting a grand-slam home run, swing for hundreds of singles and doubles. Development is a process of continuous improvement, and incremental updates to a working project creates less bugs than waiting until it’s built out in full.
  6. Consider the future — but not too much. Don’t over-engineer for some theoretical future need, but conversely don’t let today’s demands close off any future innovation. It’s inevitable that the user interface (UI) you design today will be outdated a few years, or even a few months from now. Design and develop the backend in a way that you can adjust the UI without having to do a full-fledged overhaul, which can be extremely costly. Also expect to make incremental updates, whether it be slight designs to font to adding a completely new feature.
  7. Write testable code.  Testing is an essential tool in the toolbox of any serious developer. However, some code is written in a way that it’s hard, or even impossible, to test. Make sure to follow-up testing best practices and methods to write clean, easy-to-read code.
  8. Decide what you’re optimizing for. This depends on the project, of course. Is this code intended to last a while, or is it just a quick prototype?  If the former, then the answer is probably not that we are optimizing for highest performance or utmost reliability (yes, we shouldn’t crash, but we don’t have to spend months proving that it’s resilient to the ridiculously improbable). Instead, optimize for code readability and extensibility. The next person that works on your code needs to understand it even if you have forgotten — and that might be you, coming back to it months later.

Finally, keep practicing, growing and improving! The more experience and insight you have, the fewer bugs will arise in your coding and the more likely you’ll be able to get through development without major issues. Read programming books, blog and publications to maximize your knowledge base. Don’t be too hard on yourself if things go wrong — simply learn from previous mistakes. Good luck, and happy coding!