What is good?ProgramMember? Do you understand many technical details? Still understand underlying programming? Or is programming faster?
I don't think so. For some technical details and the underlying technologies, you only need to look at the help and query the information to find them. For the fast speed, as long as the compilation is much more practical.
I think good programmers should have the following qualities:
1. Dedicated research, diligence, and best practices.
2. Positive attitude and creative thinking.
3. Ability to actively communicate with people and team spirit.
4. Be modest and cautious, and guard against arrogance and dryness.
5. WrittenCodeHigh quality. Including: Code stability, easy to read, specification, easy to maintain, professional.
These are the accomplishments of programmers. Here I want to talk about "programming accomplishments", that is, the 5th point above. I think if I want to know an author, I will read his novels. If I want to know a painter, I will read the pictures he draws. If I want to know a worker, I will look at the products he has made. Similarly, if I want to know a programmer, what I want to see first is his program code, the program code shows the quality and accomplishment of a programmer. The program is like a work. The work of a qualified and self-developed programmer must be a beautiful picture and a wonderful song, A fascinating novel.
I have seen many programs, without comments, without indentation, without naming variable names, and so on. I refer to such people as self-developed programs, such programmers, are you doing creative work? No, it is completely destructive. They are not so much programming as "encrypting" the source program. This programmer should be fired if he sees one, because the value created by his program is far less than the value that needs to be maintained above.
Programmers should have the cultivation of programmers, so they are afraid of being tired and have no time to take responsibility for their own programs. I 'd rather ask programmers who are slow and technically average, but have a good programming style, and do not want programmers who are technically strong and fast-performing "destructive. I want to see the advantages and disadvantages of a programmer from the program.
Because the program is a programmer's work, the quality of the work is directly related to the programmer's reputation and quality. The "self-developed" programmers will be able to make good programs and software.
There is an idiom called "originality", which means that everything must be done professionally and with great care. If you want to be a "craftsman", that is, a person with profound accomplishments, then, from a very simple piece of work, you can see whether you have the "craftsman" feature. I think it is not difficult to be a programmer, but it is not easy to be a "programmer. Programming is very simple, but it is difficult to compile quality programs.
I will not discuss deep technologies here. I just want to talk about some things that are easy to ignore. Although these things may be subtle, if you don't pay attention to these nuances, then, it will greatly affect your entire software quality and the implementation of the entire software process. The so-called "Leap of a thousand miles, destroyed by the ant nest ".
"The nuances are true." It truly shows that the skills of a program are precisely in these nuances.
This is the programmer's experience in programming. I have summarized the "accomplishments" in program writing in the C/C ++ language (mainly the C language). Through these, you can write high-quality programs, at the same time, it will also let people who look at your program be praised, those who have read your program will certainly say: "This person's programming is good ".
------------------------
01. Copyright and version
02. indent, space, line feed, blank line, and alignment
03. Program comments
04. [in] [out] parameter of the Function
05. Judge the returned results of system calls
06. If statement handling errors
07. # ifndef in the header file
08. allocate memory on the heap
09. Variable Initialization
10. Use of H and C files
11. handling error information
12. Calculation in common functions and loop statements
13. Function Name and variable name
14. function value passing and pointer passing
15. self-cultivation of modifying others' programs
16. Create functions and macros for the same or almost identical code
17. Parentheses in the expression
18. Const in function parameters
19. Number of function parameters
20. function return type. Do not omit
21. Use of the GOTO statement
22. Use of macros
23. Static usage
24. code size in the function
25. Use of typedef
26. Constant enable macro
27. do not define extra points for macros
28. | and & statement execution sequence
29. Use for instead of while for loop as much as possible
30. sizeof type instead of Variable
31. Do not ignore warning
32. Program for debugging and release