1. Pair programmers:
Zhang Yiyang
2. How we work: (picture)
Iii. Advantages and Disadvantages of Pair programming:
Advantages:
1. Close Pair programming time, to a certain extent, can urge both parties to learn, improve efficiency.
2. coder will encounter some minor problems in the coding process, and reviewer can promptly point out the errors and discuss the solutions.
3. When there is a problem, the two people discuss it together and supplement what the other party did not expect. This is the best way to improve the program.
Disadvantages:
In the programming process, coder thought about the idea in the coding process for a long time. This is probably the characteristic of every programmer. At this time, reviewer will encounter a short schedule for a long time.
Iv. Advantages and disadvantages of the team members:
1. Zhang Yi:Strong programming ability, clear thinking, and practical ability. But it is very easy to be taken by anime.
2. Yang Yi:Good learning attitude, patience, and concentration. Weak hands-on capabilities.
5. Describe how to use a good design method:
1. Information Hiding:Information Hiding is the foundation of structured design and object-oriented design. The concepts of functions and object-oriented encapsulation in the structure are derived from information hiding. The software industry has recognized this principle for the past decade.
The following lists some information hiding principles.
(1) layer and layer are added to the interface layer;
(2) All classes and classes are accessed through interface classes;
(3) All data members of the class are private, and all accesses are implemented through the access function;
The Information Hiding mechanism is very necessary in this programming job. Passengers only need to know the meaning of the button outside the elevator when taking the elevator, and the operation mechanism of the elevator does not need to be known to passengers. The program uses the private keyword to encapsulate classes.
2. Interface Design:Interfaces have seven features: stability, usability, standardization, portability, robustness, security, and compatibility. stability and ease of use are the most basic features in interface design. The interface must be relatively stable. Otherwise, the user and provider of the interface constantly modify the implementation of the interface to adapt to the new interface, it may be useless again, seriously affecting the overall software development progress.
3. Loose coupling:Coupling refers to the degree of mutual dependency between components (functions), while loose coupling refers to the degree of dependency between functional functions as much as possible. Otherwise, after modifying an underlying function, a large number of tests will be performed on multiple upper-layer functions.
Vi. Design by contract:Contractual design requires software designers to define formal, accurate, and verifiable interfaces for software components. In this way, a prior condition, posterior condition, and non-Variant Form are added for traditional abstract data types. The "contract" or "contract" used in the name of this method is a metaphor because it is similar to the commercial contract. The core idea of contractual design is to compare the elements in the software system with each other and the "responsibility" and "obligation. This metaphor comes from a "contract" between "customer" and "supplier" in a business activity.
VII. unit test :()
8. UML diagram: (vs generation)
9. Key and uniqueness of algorithms: (source code)
10. Feelings:This is my first pair of programming. In the past, programming jobs were all about algorithms and learning languages by searching online. However, in this pair programming, I discussed algorithms with my peers and solved the problems in the algorithms, which I never experienced before. Although we did not do well in the aspect of common programming, a lot of time is spent on coding by a person, and further integration is required for cooperation. But we have learned a lot from this learning method.
Pair work Pair Programming (Zhang Yiyang)