Chapters 2, 3, 4, 11

Most of the software is completed by multiple people, and everyone's work is interdependent. Unit testing should be accurate and fast to ensure the correctness of the basic modules of the program. The author of the code knows best the purpose of the code, its features, and the limitations of its implementation. After unit testing, the machine state remains the same, unit tests are fast, should be repeatable, consistent results, independent, should cover all code paths, should be integrated into an automated testing framework, must be saved and maintained with the production code. The requirements that people encounter in practice are constantly changing. The wishing principles of software design come from practice. These principles are precisely to ensure the maintainability and efficiency of the program in the changing requirements. Expand from the data side, the requirements side, the user side, the software build side.

Software siege includes many technologies, practices, habits and ideas in the process of developing, operating, and maintaining software. Software engineering unifies these related technologies and processes into one system. Compared with the software development process, the purpose of the software development process is to improve the efficiency of software development, operation, and maintenance, as well as improve user satisfaction, software reliability and maintainability. sex. However, the development process not only refers to the team's process, but also includes the individual development process, because the software team is composed of individuals. In the big process of the team, each specific individual is doing development, testing, user interface design, management, communication, etc. Therefore, individuals also have independent processes in the team. The orderly organization of everyone's work is the process of the team.

Software engineers need to accumulate knowledge related to software development, improve technical skills, accumulate knowledge and experience in problem areas, and understand general software design ideas and software engineering ideas. Improve career skills, practical results.

Most engineers work in a team environment and are therefore required to: communicate, do what they say, accept the role assigned by the team and work according to the role, fully engage in the activities of the team, work according to the team process requirements, preparation, rationality work. Software engineers should avoid analysis paralysis, solve all dependency problems regardless of priority, prematurely optimize, and prematurely scale/generalize.

After decades of development in the modern software industry, software is basically completed in mutual cooperation, and the smallest unit of cooperation is two people. Therefore, your code needs the following specifications: code style specification, design specification. The principles of code style are: concise, easy to read, and unambiguous.

We write software to meet the needs of users, and we need to express, transmit and process information throughout the software development cycle. People often use graphics to help them understand concepts and strengthen memory. Mind map is one example, mind map has no strict grammatical definition and almost everyone can start drawing.

In the process of practicing source code with my peers, I learned that the source code must be written by the person who is most familiar with the code, because the author of the code understands the purpose of the code, the characteristics and the limitations of the implementation. Therefore, there is no better person to write source code than the author. Projects often have hundreds of thousands of lines of code, which requires cooperation between team members, and cooperation often encounters various problems

 Such as 1. The code connection is not good, and there is no coordination between the members of the same project team to use different algorithm parameters, causing the program to fail to run

      2. The program cannot be run due to the careless typing of the letters of the code, or the punctuation marks are missing. And such mistakes often require patience to find

     3. The designed program does not meet the initial requirements, because the team members did not negotiate well during the writing of the program

     4. Lack of programming ability, with methods and ideas but unable to write the desired program, which requires a solid programming foundation of team members

After that, we discussed the part of code review. In our opinion, to make the code more perfect, we need to review the code over and over again, and no mistakes are allowed. Then there will be a problem: if the developer does Perfect, so the reviewer's time and effort is a waste? A: No, even if it is perfect, code review also has the function of "education" and "knowledge spread". More importantly, no matter how good a developer is, there will be more or less mistakes and ill-considerations. If the problematic code is checked into the production code, it is even more important to find all the problems. difficult. Everyone who studies software engineering knows that the more problems are discovered later in the project, the greater the cost of repair. Code reviews are all about finding and fixing these issues early on. In addition, questions and responses in code reviews help team members get to know each other, just like martial arts practitioners observe and comment on each other.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324893688&siteId=291194637