Well-designed code is much easier to maintain, optimize, and extend, making for more efficient developers. Three high-level, language-agnostic aspects of code design are key to achieving this nirvana: system architecture, maintainability, and reusability. All three may be attained via the module pattern, whose extensible structure lends itself to a solid system architecture and a maintainable codebase. Anthony Colangelo shows how to craft our code into well-organized components that can be reused in projects to come.
Writing Testable JavaScript
As our JavaScript takes on more and more responsibilities, we need a reliable codebase—one that is thoroughly tested. Integration tests focus on how the pieces of an application work together, but don’t tell us whether individual units of functionality are behaving as expected. That’s where unit testing comes in. And we’ll have a hard time writing unit tests until we start writing testable JavaScript. Rebecca Murphey explains how to save time in the long run by writing cleaner application code and testing, testing, testing.
More from A List Apart
To Ignite a Personalization Practice, Run this Prepersonalization Workshop
Looking to tailor your UX to your individual users’ needs? Colin Eagan and Jeffrey MacIntyre have a workshop framework for you!
The Wax and the Wane of the Web
Ste Grainer takes a brief look at the history of the web, where we are now, and how we can shape its future.
Opportunities for AI in Accessibility
In this article, Aaron Gustafson muses on some of the many ways we can—and should—harness the capabilities of AI to create a more accessible world.
I am a creative.
A List Apart founder and web design OG Zeldman ponders the moments of inspiration, the hours of plodding, and the ultimate mystery at the heart of a creative career.
Humility: An Essential Value
In this excerpt from In Fulfillment: The Designer’s Journey, Justin Dauer ruminates on the past and the importance of keeping an open mind.
Personalization Pyramid: A Framework for Designing with User Data
Colin Eagan and Jeffrey MacIntyre offer a “ground-up” approach to implementing personalized digital experiences that are intentional, ethical, and technologically sound.
Mobile-First CSS: Is It Time for a Rethink?
Is mobile-first CSS always the best option? Patrick Clancey explores the pros and cons and lays out an alternative.
Designers, (Re)define Success First
Learn how to engage stakeholders, focus on impactful objectives, and measure the results in this template for ethical design.
Breaking Out of the Box
What can we do with thirty pixels? Windows Controls Overlay frees us from 40 years of history telling us how apps should look.
How to Sell UX Research with Two Simple Questions
Seriously, do not ever design screens again without first answering these questions: what are the objects and how do they relate?
A Content Model Is Not a Design System
Why do so many content models still look more like design systems rather than reflecting structured data? Mike Wills takes us on a personal journey as he examines his own past experiences and invites us to conceive content models that articulate meaning and group related content together for use on any channel.
Design for Safety, An Excerpt
In this excerpt from Design for Safety, Eva PenzeyMoog discusses concrete ways you can incorporate safety awareness into your design processes.