A List Apart

Menu
Issue № 375

The care and feeding of JavaScript.

The Design of Code: Organizing JavaScript

by Anthony Colangelo · 31 Comments

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

by Rebecca Murphey · 30 Comments

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

Columnists

Nishant Kothary on the Human Web

The Politics of Feedback

We’re obsessive about collecting input from a wide range of potential users and stakeholders. But with such an onslaught of feedback, there’s always a risk of having your motivation and faith in humanity sucked right out of you. Sometimes, you just need calm critique from the few people who really get you. So which kind of feedback is best? The answer is both.

From the Blog

Personalizing Git with Aliases

Part of getting comfortable with the command line is making it your own. Small customizations, shortcuts, and time saving techniques become second nature once you spend enough time fiddling around in your terminal. Since Git is my Version Control System of choice (due partially to its incredible popularity via GitHub), I like to spend lots of time optimizing my experience there.

Routines Aren’t the Enemy

I recently read Greg Smith’s piece on Bocoup's blog about how they think about time tracking, including all the fascinating data about how your brain works to solve problems. It interested me a lot, since I've been thinking about not just how I track projects, but also how I structure my day as a freelancer.