How to tell if a programmer is a conservative or a liberal?

Recently, I was reading "The Programmer's Scream" by Steve Yegg.



This is a very interesting book, and it even includes a quiz (sic) to tell whether a programmer is a conservative or a liberal.

There are a total of ten questions below, each question has two options A and B, please choose your answer.

Question 1: The bug has not been fixed, can the software go online?
(A) Before the software is released, complete tests should be written, fully debugged, and all bugs fixed as much as possible.

(B) No matter how hard you try, bugs are always unavoidable. If the nature is not serious, you can go online first, and then debug and fix according to the feedback.

Question 2: Should error-prone features be used in programs?
(A) Many advanced features of languages ​​are error-prone and dangerous, and should be prohibited from being used in code. We can develop without these features, and the code will be more secure as a result.

(B) Smart programmers are motivated to learn and know how to solve problems. In order to avoid mistakes, it is absolutely not advisable to set up a bunch of rules.

Question 3: Should the new language or grammar be restricted?
(A) The number of languages ​​that can be used in a company should be limited so that if the system goes down in the middle of the night or on Christmas Eve, the person on duty does not need to crawl to learn new grammar. In addition, syntax that alters the original definition of the language, such as strict restrictions on operator overloading and metaprogramming, should also be prohibited.

(B) The ability of programmers to learn is astonishing, there is no need to "protect" programmers from new syntax, they will naturally learn if needed.

Question 4: Is static checking necessary?
(A) Compiler safety checks are important, and code that cannot be statically checked is generally not acceptable.

(B) The code should be short and concise, static checking tools can make the code smelly and long.

Question 5: Does the data have to have a format definition?
(A) The data must follow a pre-defined format. For example, relational databases must conform to Third Normal Form or UML, XML must have DTDs, and NoSQL databases must have a separate format definition (indicating all allowed keys, and corresponding value types).

(B) Rigorous data definition only hinders flexibility and slows down the development process. A better strategy is to write some comments, or just define part of it, or even skip it first. Because no one knows what the data might look like until a lot of use cases emerge, code-first is the right thing to do.
To read the full text, click directly: http://click.aliyun.com/m/9462/

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326768422&siteId=291194637