A genius programmer, his energy and brain is limited, not in a short period of time to build a large system like office, this is the emergence of software engineering, to help many programmers work together to transform the program into software.
Code-level software engineering, I would like to mainly include these aspects:
- Readability of code
- Schema of the Code
- Maintainability of code
- Decoupling of the module decoupling of the code
- Thread Safety for code
The readability of the code can be used to see the code for different engineers, to make it easier for others to understand the code of their collaboration, so you can write code to get readability by following certain specifications.
The architecture of the code can help you maintain easily, if the design of the coupling is very low, a function only to do one thing, a module only to do a special thing, maintenance and expansion is more convenient.
Thread safety of code is one of the robustness of code that you guarantee.
Experiment List
Summarize:
Rome is not built in a day, the program is not a time to write well, but in a slow iteration to modify, this is probably my biggest harvest.
Seven weeks of learning, basic and Menu applet goes down from a simple applet, in addition to modular design, reusable module design module, reusable module interface design, function reentrant and thread safety, command line parameters, full grow into a reusable common menu applet, That's a wonderful feeling.
Before most of me can only stay in a file programming, often code line break 1000 lines, maintenance is very complex, even a few months later want to re-enable the program, do not know how to start, slowly change the bug, will he modified well.
The biggest regret is Meng teacher behind two courses have not been produced, hope not to drag, and then drag me to graduate. (2018:)
Software Engineering (c coding practice) Learning Summary