Programmers are a special breed
Because you interact with computers more than you interact with people
So it’s a high incidence of OBSessive-compulsive disorder
The number of programmers in China has exceeded 5 million
That’s more than half the countries in the world
Any small problem multiplied by five million is amazing
Programmer’s obsession has become a social phenomenon that cannot be ignored
We have divided the most common obsessive-compulsive disorder among programmers into ten broad categories
Number obsessive-compulsive disorder
Numerocd, which involves counting from zero, is a result of being poisoned by most programming languages. Another symptom of digital obsessive-compulsive disorder is an obsession with binary. Many programmers believe there are 10 types of people: those who understand binary and those who don’t. The late symptoms of digital obsessiveness are the belief that 256 and 1024 are perfect to the power of 2 n, often with the illusion that 1 kg == 1024 g or 1 L = 1024 mL.
Obsessive formatting
The symptom of format obsessive-compulsive disorder is that the indentation requirements of the code are extremely strict, and the code must be beautiful. Even code that couldn’t be more neatly indent would be uncomfortable if it was one Tab and four Spaces.
Modern ides achieve automatic indentation of Enter line feed and Ctrl + Alt + L formatting, greatly reducing the incidence of formatting compulsion, formatting compulsion has naturally changed. The most common variation in format obsessive-compulsive disorder is to go from just looking for alignment on the left to looking for alignment on the right as well, with patients switching from IDE fonts to monospaced fonts.
Obsessive-naming disorder
The symptoms of obsessive-naming disorder are the pursuit of brevity and directness in naming classes, interfaces, variables, constants, methods, enumerations, etc., in the hope that the text will be right in the moment — but generally brevity and directness are like good and cheap. When naming obsessive-compulsive disorder as a complication of input obsessive-compulsive disorder, there will often be an impulse to hit the computer because of the inconsistent word count of a list of objects.
Chinese programmers have a particular obsession with naming. They don’t like pinyin naming, and when they see pinyin naming in the code left behind by their predecessors, they get angry. Another symptom of obsessive-naming disorder is an aversion to general names such as data_1, MSg_2, view_3 or even I, j, k (except for method internal loops). I don’t like misleading naming, such as suddenly discovering a comment like “// all of the following left stands for right and all of the following right stands for left”. A late symptom of the nomenclature obsession is an inexplicable obsession with hump nomenclature, with users of new websites being forced to stick to it.
Preservation compulsion
In the eclipse + netBean era, ides didn’t have auto-save, and many programmers got into the habit of Ctrl+S at all times. And modern ides basically have autosave function, their habit, this is the obsession to save.
Front-end programmers constantly Ctrl+S while surfing the web. If the web page has a text editor, the dialog box will pop up when Ctrl+S: “The text has been successfully saved to date”, and then inexplicably nervous: “why popup again?” It took me a long time to realize I was on the Internet. Save obsessive-compulsive disorder is not nothing, patients playing PC games will have their own “use S/L method at any time” skills, will greatly avoid the possibility of wasted efforts.
Maintenance compulsion
The symptom of maintenance obscure-compulsive disorder is to save all kinds of anti-virus software, Trojan library, system image, jailbreak tool, Android root tool in usb or portable hard drive to repair the computer and mobile phone at any time. “You are not a programmer how even the computer/mobile phone can not repair?” Force.
Maintenance obsessive-compulsive disorder without advanced symptoms, third aunt’s elder sister looking for programmers to help her repair intelligent washing machine and other loT equipment or fourth uncle’s brother-in-law looking for programmers to brush the scientific calculator into the Android system, the programmer directly forced to death.
Hardware compulsion
Hardware obsessive-compulsive disorder is a condition in which programmers place extreme demands on the hardware they work on. The following common pathogenic hardware forces and increases the cost of acquisition:
Portable hard drive: The portable hard drive is the offline Git that holds countless codes, documents, and secret keys. There is also something hidden under “postgraduate entrance examination materials/politics/Marxist philosophy/Chapter 18 / Course H”.
Mechanical keyboard: crackling feel and expensive price, HHKB is the belief of every programmer, can not afford HHKB programmers will use domestic mechanical keyboard to make do with.
IMac or Macbook Pro: Apple computers are very powerful and can compile very quickly. More important: OS X can’t play LOL, so you don’t waste time writing code.
Dual monitors: For front-end programmers, dual monitors are not only useful for installation, one portrait display shows WebStorm, and the other landscape display shows Chrome is very useful for programming. The price of the monitor is not expensive, expensive is can be placed in 120 degrees of two monitors table under the land in Beijing, Shanghai, Guangzhou, Shenzhen and Hangzhou office rent.
Ergonomic chairs: A variety of dysfunctional office furniture, including ergonomic chairs and stand-up programming desks, claim to protect programmers’ necks, waists, hips, and prostates, and you know why they love it.
Programmer motivator: The piece of hardware most programmers desire but don’t have is their programmer motivator, in other words, your girlfriend while you write code.
White-box compulsive disorder
A common symptom of white-box obsessive-compulsive disorder is seeing code and wanting to improve it. It is very wrong to say that programmers are afraid of “error” and “warning”. Many programmers are afraid of yellow characters and hyphens, as well as blue “// TODO”.
White-box obsessiveness is often beneficial, leading to cleaner code and fewer hidden bugs. The terminally ill with white-box obsessive-compulsive disorder can no longer access the Internet without right-clicking the source code every time they open a web page.
Black box ocD
A common symptom of black-box obsessive-compulsive disorder is that every time you see closed-source software, you want to study how it works and see if you can do better. For example, when using Alipay to scan the code to pay, we think of the recognition of two-dimensional code, communication encryption, payment security and other principles; Or when you’re in an elevator, you look at the elevator button panel (a real-world UI) and start thinking about elevator scheduling algorithms, like how multiple instances can interact with each other, and things like priority, acceleration, and prediction.
The late symptoms of black box obsessive-compulsive disorder are to see the process in the real world and want to use algorithm knowledge to optimize, the common is to think about how to optimize the company’s reimbursement and promotion approval process; Take another negative example. When you read In the Name of the People or The Official Scene, you think about how to optimize the “handling” process of corrupt officials and profiteers.
Compulsive to collect
The symptom of collection obsessive-compulsive disorder is that if you see good source code on GitHub, you must collect it. If you see good articles on technical blogs, you must collect them. Collection is much, but will not look again. Knowing this, but also feel that not collecting will be a loss.
Identity compulsion
Early symptoms of identity obsessive-compulsive disorder: the concept of “programmer == myself” is deeply rooted in my mind. When I see any topic related to programmers, I will open this article because the title of this article has “programmer”. Patients who finish reading this article also take themselves and their colleagues as an array, and the 10 ocD’s in this article as another array, and do a recurrence in their head to see how many bullets they and their colleagues were shot.
Late-stage symptoms of IDENTITY obsessive-compulsive disorder: Taking everything you see in the real world as IT knowledge and forgetting how to be a normal person outside the workplace: The patient who went astray accidentally did not write code at home one day. When he went out, he thought of “singleton mode”, “copy” when he saw twins, “cycle” when he saw ferris wheel, and “queue” when he saw queue.
Identity obsessive-compulsive disorder into the sunset phase symptoms: patients have been unable to use human language to communicate, QQ chat each sentence at the end of a “;” That’s right, it’s a semicolon; Some even use “/*” and “*/” to make it invisible. The first thing that a programmer would do when she heard that she knew four languages was ask her if she knew Java, PHP, Python, and JavaScript or C, C++, C#, and Objective-C.
Identity obsessive-compulsive disorder enters the recovery phase: Try to convert programmers from other languages, tools, and domains into their peers, Programmers who once shouted “PHP is the best language” and switched to Android in the age of the mobile Internet struggle to change the Apple-shaped lights on the back of the iMac or Macbook Pro screens to Android-shaped ones.
If you don’t get to the end of this reading without a single shot, and you don’t recurse your friends and colleagues on the list, then you’re not a programmer.