One, the initial software development learning, comes from practice, the practice is even without active interest, can also be due to practice, must get the work done through this practice, however, you have to do is to master basic grammar rules, and the real interest cannot be damaged,
Software development basic grammar rules, only a few very simple: assignment, conditional branches, the circulation, the definition and call subroutine, this is the most basic software architecture bricks,
Two, with the deepening of the practice, the next focus on the expression, namely the problem needs words with software, the ability to master will benefit you in many ways, and learn to sign any kind of things is that you can use their own language to describe it, if you mastered the language software, you can use it as your own a language, use it to learn a lot of things, and use the language, you will never without communication object - computer,
When you are accustomed to this kind of learning method, you will find in computer language can be a lot of things, is a very useful learning tools, but here must pay special attention to is that it is not everything, there are still many areas can not use computer languages to learn,
Three, when you are proficient in the computer language of expression, the next step is to express ability of ascension, you will find a lot of problems in common, with a similar structure can be a lot of looks completely different things, it has formed a kind of abstract structure, known as the architecture, the ability to observe the inherent similarities between different things, will make it much easier to see the essence through the phenomena,
Gradually you will find that your architecture is very nice, be familiar with a few architecture can easily solve the problem of a large number of seemingly different, if you find yourself useful architecture tendency to set of problems, we must bear in mind that cannot be cut, sometimes have to keep an open mind to see the problem between the difference of small but can not be ignored,
Four, when you are familiar with architecture to solve the problem, for the amateur, you itself is no longer a bottleneck in the software development ability, the information and source code acquisition ability determines your ability to develop, to find ready-made control can solve the problem in ten minutes, and all the original code to solve the same problem may have a month's time,
Resources is certainly useful, but lost in the resource collection also is very bad, any language has outdated that day, in the short history of the development of the computer language, we have seen a lot of obsolete (or frequency) was eliminated in the language, the language is full of exquisite skill, can solve various problems, but still not the fate of elimination,
I'm going to this step, called the final state of development of amateur,
CodePudding user response:
Five, also, it can also be considered the starting point of professional development, in order to evolve to professional development, there are some basic knowledge is essential, is worth learning: "assembly language", "compiler principle", "data structure", "operating system", "design patterns","Assembly language" tells us the truth of the software, it is the ground of software development, all the brilliant software skills, must, in the implementation to the most basic machine language to perform: addressing, assignment, jump, and so on, and even in machine language the most basic level, we still found that different machines use different language, still is the pattern of schools of thought contend,
"Compiler principle" tell us is how to implement in a high-level language to assembly language, it is the stairway to high-level language, and the compiling technology itself is full of highly inspired skills, can be applied to various industries in the field of software development,
"Operating system" describes a relatively complex system is how to plan and design, this in itself has a lot of reference value for software design, operating system is the basic environment of software running at the same time, to understand the environment helps us to a deeper understanding of the internal logic of software,
"Data structure" is the basic organization of senior language logic, highly summarized the object-oriented before all of the basic structure of the software skills, even in the era of object-oriented, still has the common practical,
The structure of the era of "design pattern" is object-oriented skills summary, prefer to practice rather than theory, the lack of a large number of complex software development experience is difficult to fully understand the meanings of these patterns and clever, learn it can greatly improve our experience, develop professional program, (it can be compared to the traditional Chinese medicine in the "on")
CodePudding user response:
After six, specific professional development of the knowledge, also should adapt to the basic professional development habit, many people, many software development, long period, is a sign of a professional software development, annotation, source code version management, the use of the test unit, is the most basic need to adapt to the professional development of habits,While from the point of ultimate efficiency, is essential, but professional development to do a lot of seemingly useless extra work to reduce the interest of the practitioners, from the point of development of fun, professional development of a lot less than the amateur development,
CodePudding user response:
The evolutionary direction of seven, the next step,Pure amateur development, can to language evolution, master the different development language can bring more fun and more applicable, suitable for development of amateur,
Advanced software development skills, and experienced professional developers, to the system architect can evolve,
For software language have enough understanding, and like to learn more knowledge in the field of people, you can ask the requirements analyst evolution,
For professional development team deep insight, and is responsible for the person you like, you can ask the project manager of evolution,