Smarty
5 Principles For Creating Stupidly Brilliant JavaScript ApplicationsThe smarter an application is, the dumber its code should be. Make your code maintainable, extendable, and bug-resistant.
Andrew Townsend
Andrew Townsend
 • 
April 11, 2022
Tags

Have you ever tried to add a minor feature to your application only to discover that you’ll have to re-write large blocks of code first? Or maybe you’ve spent hours deciphering hundreds, or perhaps thousands, of lines of existing code just to find out a task only required two lines of additional code. If you’re like most developers, you’ve wasted countless, frustrating hours wading through immensely complicated code trying to force it to do things it wasn’t built for.

In his presentation, Mike Manwill, Frontend Team Lead here at Smarty, discussed 5 principles to help you create stupidly-simple applications that are maintainable, extendable, and bug-resistant. He calls it “writing stupid code”.

“If you can’t explain it simply, you don’t understand it well enough.” - Albert Einstein.

Mike explained that “smart” code is “dumb” for several reasons. It is difficult to read and understand, making it difficult to hand off to predecessors or other coders on the team. It is bug-prone, and debugging can be very very difficult. Extending it becomes time-consuming and difficult, especially if you’re not the one who authored it. Estimating work needed becomes virtually impossible if your code is too smart. And finally, it tends to have a short lifespan and needs to be overhauled frequently because it can be so frustrating to work with.

Smart Code is Dumb

Aside from spotting those challenges, there are five other symptoms of “smart code”.

  1. Your functions take lots of parameters
  2. There is a lot of conditional logic
  3. You need to explain your code via commented code
  4. Brittle code (it breaks every time you change it)
  5. The code is difficult to follow

So, we’ve identified the problem. You’re tired of being frustrated with this “smart code”. How can you make it better? For the main part of his presentation Mike went over the five principles you can follow to create brilliant “dumb code” that lasts.

  1. Take time to really understand the problem
  2. Decouple different ideas
  3. Pass the thing instead of the parts to build the thing
  4. Refactor (just because it’s working doesn’t mean you’re done)
  5. TDD (Red, Green, Refactor)

You can watch the video recording of his session (super short, only 28 minutes!) and see his examples and explanations first hand by clicking the button below.

Try our stupidly brilliant address validation and address autocomplete tools. You can sign up for a free account by clicking the link below.

Get Free Account

Subscribe to our blog!
Learn more about RSS feeds here.
rss feed iconSubscribe Now
Read our recent posts
World Juggling Day: Tips from Smarty’s jester
Arrow Icon
It’s that time of year when we toss aside our fears and woes and throw our hands up in celebration; World Juggling Day is here. Whether you toss hacky sacs, bowling pins, flaming torches, or your cookies, juggling has been a long-standing form of fun, fitness, and flair. Let’s talk about this quirky holiday. History of jugglingThe history of juggling is rich and dates back almost 4,000 years. In ancient Egyptian times, tombs shared depictions of juggling. Greeks and Romans also tossed their hats into the juggling arena, yet juggling began to be scorned and overlooked by many in the Middle Ages due to claims that jugglers dealt with immorality and witchcraft.
Wizardry - How Smarty makes professional improvement magical, and you can, too
Arrow Icon
Alright, gather 'round, fellow wizards and witches! It's time to unveil the secrets to mastering the mystical art of professional development at Smarty. Yes, “wizardry” typically refers to wearing cloaks, wielding wands, riding broomsticks, and mixing potions. At Smarty, we think of “wizardry” as being the best at doing what we do. We’re going above and beyond to not only become experts in our field but also stay that way through shifts in technology and culture. However, being the best shouldn’t be an afterthought; at Smarty, it’s not.
Authentic culture: Exploring the depths with Smarty
Arrow Icon
Navigating the depths of corporate cultureIn today's business world, many companies create a surface-level culture within their company structures but stop there, never seeming to invest fully in deepening a healthy culture. Surface-level culture can be visually appealing and immediately gratifying. Imagine, for example, a delicious cake. It’s beautifully decorated but tastes off or is missing an ingredient that spoils the final product. An intentional and deep culture is hard work. It takes time, action, correction, and honest feedback from everyone in the company.