The devil, as the saying goes, is in the details, and never is this adage truer than when it comes to the code upon which applications depend to operate correctly. Bad or inconsistent code has an awful way of coming back to haunt everyone involved in the form of delayed launches, cost overruns, and long-term.
Yet code consistency – perhaps because it’s poorly understood, a seemingly dull topic, or hidden within the inner workings of a system – is almost never considered by brands and the digital marketing agencies that represent their interests.
This is a big mistake.
Anyone who has ever taken a course in writing code or algorithms quickly discovers an unsettling truth: that even minor discrepancies or differences can quickly snowball. The greater the complexity of the project, the greater the risks – especially when there is little rhyme or reason to how the code is created.
Contrast this with, say, graphic design. Precisely because they are on such prominent display, consistency in visual design elements is widely recognized as a must. Abrupt transitions in a brand’s color hues or fonts or logo treatments are jarring to company and customer alike. For this reason marketing agencies insist that design style guides be created and adhered to.
Yet that same focus is rarely if ever applied to the code base all of that design makes aesthetically attractive. Indeed, mistakes are only noticed when an application fails to work quite right.
And therein lies the rub: Because that code base, for better or worse, represents the fundamental building blocks to the application upon which your client – and your own marketing services – now depends. In the same way that a gene mutation can lead to significant problems for its host, so too can deviations in code show up where and when you least expect it.
Or looked at another way, imagine if two authors wrote a sentence as follows:
The brown cow jumped over the moon.
ThebroWn cowjump eD o v ert HE moon.
Your brain’s ability to process the meaning of the second version would be sorely tested even though all the letters are basically still spelling out the same sentence. And this is a simple linguistic character string.
Now picture alternative approaches to code styles, which will include not just formatting but syntax, structure, commenting, naming conventions, functions and more. Toss in multiple programmers working across disparate teams under tight deadlines on sophisticated projects.
The problem, of course, is that the greater the scope, scale, and complexity of the project and the coding involved, the greater the chance for errors, inefficiencies, and cost overruns. Identifying and fixing errors in an application employing multiple functions and thousands of lines of code that lack a centralized styling authority can become a Herculean task.
And who pays: Your client and, in the event you are managing the development efforts, you. Indeed, your client is going to blame your agency for the application’s failure. Forget about marketing – at this point, you’re going to have to engage the same company to troubleshoot the source of the coding errors, or outsource for yet another technology vendor to help. Either way, your marketing budget – and the client’s anticipated results from that marketing – are going to take a hit.
What to look for in your developer’s proposal or internal operations?
- A software development lifecycle document explaining how the company intends to ensure code consistency (aka quality)
- Control system for monitoring change tracking
- Compliance documentation and an automated ticketing system
- Steps for independent code reviews and testing (automated or manual)
- Approval processes for moving code from staging to live environments
Galaxy employs a code style guide, which ensures that every member of our coding team uses the same basic syntax, structure, naming conventions, comments, and formatting. Similar to style guides for content or design, our style guide includes guidance on:
- Use of white space
- Tabs and spaces for indenting
- Patterns to be used (and avoided)
- Code groupings
- Naming conventions for variables and functions
The bottom line: work with developing shops that use a coding style guide. That guide will improve the efficiencies not only in your initial development efforts, but over time when updates and fixes may be required as well.