Editing 1513: Code Quality
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 8: | Line 8: | ||
==Explanation== | ==Explanation== | ||
− | This comic is the | + | This comic 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 {{w|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. | |
− | First, she suggests that reading his code is like being in a house built by a child, using | + | First, she suggests that reading his code is like being in a house built by a child, using 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 the only tool you have is a hammer, you'll treat everything as if it were a nail". New programmers make use the same techniques repeatedly, making them fit for situations that they are not intended for. |
− | Second, she suggests that it looks like a salad recipe, written by a corporate lawyer on a phone with | + | Second, she suggests that it looks like a salad recipe, written by a corporate lawyer on a phone with autocorrect that only corrected 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 reexamining the problem and solving it in a better way. |
− | Third, she describes it as a transcript of a couple arguing at | + | Third, she describes it as a transcript of a couple arguing at {{w|IKEA}}, which 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 eventually producing the complete works of Shakespeare. (A couple's argument may be even less coherent at Ikea than at the average store, since Ikea products have idiosyncratic names that are difficult to pronounce or transcribe for anyone who doesn't speak Swedish.) This might happen if the code was written so bad that it does not compile, and people edited the code until it compiles so they can see what the code accomplishes. That Cueball's code is in this bad 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 {{w|Software quality|code quality}} would benefit from far more training in computer programming. | 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 {{w|Software quality|code quality}} would benefit from far more training in computer programming. | ||
− | The title text refers to {{w|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 | + | The title text refers to {{w|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. |
− | + | The comic has a sequel in [[1695: Code Quality 2]]. | |
− | |||
− | In | + | ===emoji=== |
+ | Many crying-face emoji are possible if variables can include full Unicode (e.g., 😢,😭,😂,😪,😥,😰,😿,😹). 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 {{w|Go (programming language)|Go}}, {{w|Swift (programming language)|Swift}}, and {{w|Java (programming language)|Java}} ([http://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html#jls-3.8], [http://docs.oracle.com/javase/7/docs/api/java/lang/Character.html#isUnicodeIdentifierPart%28int%29]), but most languages with compilers that support Unicode characters can include this kind of emoji, even for languages that predate Unicode like {{w|C++}} and {{w|Lisp_(programming_language)|Lisp}} | ||
===Programming Style=== | ===Programming Style=== | ||
Line 44: | Line 40: | ||
:Ponytail: ...Wow. This is like being in a house built by a child using nothing but a hatchet and a picture of a house. | :Ponytail: ...Wow. This is like being in a house built by a child using nothing but a hatchet and a picture of a house. | ||
− | :[ | + | :[Ponytail sits at desk, Cueball stand behind her.] |
:Ponytail: It's like a salad recipe written by a corporate lawyer using a phone autocorrect that only knew Excel formulas. | :Ponytail: It's like a salad recipe written by a corporate lawyer using a phone autocorrect that only knew Excel formulas. | ||
− | :[ | + | :[Ponytail sits at desk, Cueball stand behind her.] |
:Ponytail: It's like someone took a transcript of a couple arguing at IKEA and made random edits until it compiled without errors. | :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. | :Cueball: '''''Okay,''''' I'll read a style guide. | ||
==Trivia== | ==Trivia== | ||
− | *Emoji can be simulated using {{w|ASCII}} characters, but their roots are mostly separate from ASCII {{w|emoticon}}s. Most languages will allow variable names to include underscores, so some sad face ASCII emoticon will be legal variable names, such as <code>T_T</code>, <code>p_q</code>, <code>ioi</code> etc., but such things rarely show up in software variables. Many more can be made possible using UTF-8 characters | + | *Emoji can be simulated using {{w|ASCII}} characters, and but their roots are mostly separate from ASCII {{w|emoticon}}s. Most languages will allow variable names to include underscores, so some sad face ASCII emoticon will be legal variable names, such as <code>T_T</code>, <code>p_q</code>, <code>ioi</code> etc., but such things rarely show up in software variables. Many more can be made possible using [http://hexascii.com/sad-emoticons/ UTF-8 characters]. |
{{comic discussion}} | {{comic discussion}} | ||
− | |||
− | |||
− | |||
[[Category:Comics featuring Cueball]] | [[Category:Comics featuring Cueball]] | ||
[[Category:Comics featuring Ponytail]] | [[Category:Comics featuring Ponytail]] | ||
Line 63: | Line 56: | ||
[[Category:Computers]] | [[Category:Computers]] | ||
[[Category:Language]] | [[Category:Language]] | ||
− | |||
− |