New 42-day free trial
Smarty

5 principles for creating stupidly brilliant JavaScript applications

Smarty header pin graphic
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 image

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.

Subscribe to our blog!
Learn more about RSS feeds here.
rss feed icon
Subscribe Now
Read our recent posts
Falling out of love with your address data solution?
Arrow Icon
There are plenty of address data solutions in the sea. You might need to let them off the hook if:Their data accuracy is sufferingToo many false positivesSpotty data availability (lack of international support? Beuller?)Off-the-mark geocoding (not truly rooftop-level accurate)Missing data enrichment (RDI, FIPS, unique ID, secondary addresses, etc. )They don’t flirt nicely (or at all) with your existing systemsThey don’t have an accurate address autocomplete solutionYour relationship with them has become robotic and mundane (When you need help, you have to talk to a robot instead of a real person for support… ew.
Global game-changer: Level up your customer retention in 2025
Arrow Icon
In 2024, it’s estimated that online purchases, or ecommerce, made up more than 20% of global retail, with 2. 77 billion people shopping online, and those numbers will only get bigger in the following years. With so much online shopping, more goods and services are being shipped than ever before—including during the height of the Sears catalog in 1970. Side note: If you’re reading this and you don’t know what the Sears catalog was or how much it impacted the average home, it’s worth taking a trip down memory lane and seeing how your elders used to shop.
Shipping optimization: Boosting your bottom line
Arrow Icon
Shipping optimization is rapidly evolving the retail landscape with advancements in shipping technology. From using robotics to increase efficiency and protect workers from dangerous jobs to autonomous vehicles and drones taking items to hard-to-reach areas, shipping has drastically evolved from the infancy of ecommerce in the 1990s. Sure, the 90s are currently having a pop culture resurgence, but your customers don’t want their shipping experience to go retro. One of the most impactful ways to ship effectively is to use a Shipping Execution System (SES).

Ready to get started?