Code Quality
Code Quality
[Cueball showing Ponytail his laptop.] Cueball: Keep in mind that I'm self-taught, so my code may be a little messy. Ponytail: Lemme see - I'm sure it's fine.
[Ponytail sits at desk, Cueball stand behind her.] Ponytail: ...Wow. This is like being in a house built by a child using nothing but a hatchet and a picture of a house.
[Same scene.] Ponytail: It's like a salad recipe written by a corporate lawyer using a phone autocorrect that only knew Excel formulas.
[Same scene.] Ponytail: It's like someone took a transcript of a couple arguing at IKEA and made random edits until it compiled without errors. Cueball: Okay, I'll read a style guide.

This comic is the first in the Code Quality series:
It is about the apprehension of asking for help from an expert who is a friend. Often we fear that we will be judged and they will think less of us, which is what occurs in this comic.
Ponytail is about to look at some source code Cueball has written, and he is warning her that he is self-taught so his code probably won't be written the way she is used to. In spite of Ponytail's initial (polite) optimism, she comments in three increasingly harsh similes (and a fourth in the title text).
First, she suggests that reading his code is like being in a house built by a child, using a hatchet (a small axe) to put together what he thought was a house based on a picture. She is saying that the code shows a lack of command of the language being programmed. This is like the common expression "If all you have is a hammer, everything looks like a nail."  New programmers make use of the same techniques repeatedly, using them for situations where other techniques would be far more efficient or faster.
Second, she suggests that it looks like a salad recipe, written by a corporate lawyer on a phone with auto-correct that only corrects things to formulas from Microsoft Excel. She is saying that the code is verbose and the corrections that were done are illogical. This presumably relates to the developer not being an expert in their craft, and fixing the problems as they come up instead of re-examining the problem and solving it in a better way.
Third, she describes it as a transcript of a couple arguing at a branch of the Swedish retail chain IKEA , that was then randomly edited until the computer compiled it with no errors. She is saying that the intent of the code is unclear due to the seemingly random use of the language. This is very similar to an infinite amount of monkeys bashing away on typewriters for an infinite amount of time that will eventually produce the complete works of Shakespeare. (A couple's argument may be even less coherent at IKEA than at the average store, since IKEA products always have idiosyncratic names and many of them are difficult to pronounce or transcribe for anyone who doesn't speak Swedish.) This might happen if the code was written so badly that it does not compile, and people edited the code until it compiles so they can see what the code accomplishes. The fact that Cueball's code is in this bad of a shape indicates he really hasn't learned the programming language; he just happens to have a program that works in some shape or fashion.
Finally, Cueball makes the rather weak assurance that he will read "a style guide", which articulates the intended use of the language. It seems clear from Ponytail's commentary that his code quality would benefit from far more training in computer programming.
The title text refers to emoji . Ponytail's comment implies that some of Cueball's variables contained emoji, perhaps in an effort to capture the emotional content of the arguments which show through the requirements document. Emoji have become a recurrent theme on xkcd, but this may have been the first comic to use them for a pun.
Many crying-face emoji are possible if variables can include full Unicode (e.g., 😢,😭,😂,😿,😹), as well as faces with sweat drops that are often mistaken for tears (😪,😥,😰,🥵). In some programming languages it would be impossible to use them in variable names, as the symbols would break the language's syntax rules. Exceptions to this include Swift and Perl ( [1] ), but most languages with compilers that support Unicode characters can include this kind of emoji, even for languages that predate Unicode like C++ and Lisp .
In any event, Cueball's code may best be represented by a bunch of people crying, as that seems to be the only proper response to it.
Although few programming languages require a perfectly rigid style, so long as the code is syntactically accurate, most programmers follow some sort of style to make the code easier to read. This includes indenting lines to show levels and using descriptive variable identifiers with special capitalization, (e.g., camelCase , capitalizing each word except for the first in a sentence, or snake_case , separating lowercase words with underscores).
[Cueball showing Ponytail his laptop.] Cueball: Keep in mind that I'm self-taught, so my code may be a little messy. Ponytail: Lemme see - I'm sure it's fine.
[Ponytail sits at desk, Cueball stand behind her.] Ponytail: ...Wow. This is like being in a house built by a child using nothing but a hatchet and a picture of a house.
[Same scene.] Ponytail: It's like a salad recipe written by a corporate lawyer using a phone autocorrect that only knew Excel formulas.
[Same scene.] Ponytail: It's like someone took a transcript of a couple arguing at IKEA and made random edits until it compiled without errors. Cueball: Okay, I'll read a style guide.
