On software engineering
Three years ago began to touch the programming, actually began to write the code also has two years time. After writing more than 100,000 lines of code and then coming back to the software engineering this thing has some new understanding.
1. Code accumulation
When we talk about software engineering, we are often not restricted by language. In any language can write code, can be seen as a program, a software. However, if a person does not have a deep understanding of the programming language, his understanding of software engineering is only floating on the surface. It's like having someone say it's just as ridiculous to optimize a Hello World program.
Practice out of the truth, really hit the code to realize the idea of software engineering.
2. Guiding but not restricting
Software engineering is an idea that simply instructs a programmer (or a group of programmers, or a team of developers) how to write a software, but only as a guide, rather than limiting how programmers write code. When we write a software, we encounter a lot of problems, such as what kind of data structure, what kind of design patterns, how to ensure the efficiency of code execution, how to reduce the difficulty of maintenance later. By learning the idea of software engineering, we can deal with these problems more calmly, but we should not confine our thoughts to software engineering, we should combine our actual experience and actual needs to come up with better solutions.
Learning software engineering is about having the right methodology when developing software.
3. Engineering
When we discuss the term "engineering", we actually have a certain default standard in mind. Obviously, we're not going to call it a project, but we'll call it a project to build a house, and the walls are part of the project. We don't call a simple Hello World code a project, because in our minds, engineering is not so simple. So the software engineering we're talking about must be code with a certain degree of complexity.
All the projects are so, at first, in the learning phase, do a few simple attempts, for software engineering is to write some demo. When learning enough, and began to realize some "cool" function, to start writing a simple "project", until the code to hundreds of thousands of lines, in order to let themselves understand, began to pay attention to the variable function naming normalization. When the code is thousands of tens of thousands of lines will start to pay attention to design patterns, attention to the logical structure of the code, attention to code extensibility and other issues. Wait until the need to expand, a person can not be finished, the beginning of cooperation, this time will pay attention to the readability of the code, appropriate to add comments, write some simple doc, pay attention to version management.
On software engineering