1 Unified development environment/collaboration tools
Do you know what a development environment is?
Development environment:
Project running environment, development tools/editors, development dependency environments, configuration files
Software Environment:
"Simulation preview" environment Staging
Final verification before production environment. This environment simulates the real production environment as much as possible. Another key is for performance testing, especially loading time.
Development environment Development
Often created on the developer's device, the software environment in which the software is developed, a sandbox environment
Production environment
Also known as the online environment, deployment to the production environment is the most sensitive step. Problems in the production environment will lead to serious consequences in the engineering operating environment.
Testing environment
Allow human testers to conduct testing in automated or non-automated ways. If the test fails, the test environment will notify the corresponding developer of this part.
What collaboration tools do you know about?
What development environments have you used before?
Why unify them?
2. Project management and workflow
What do we care about in software project management?
Need to focus on money issues?
Need to pay attention to time?
What else should we pay attention to?
care:
Within the budget, within the planned time, and the project quality is good
W5HH plan
Why was this feature developed?
What will be done and when will it be completed?
Who is responsible for making it happen?
Where are their institutional organizations located?
How can this function be accomplished technically and managerially?
What resources should be needed?
Umbrella activities :
Measurements & Data Matrix
Estimate
risk
Schedule
Track and control
A breakdown of the work done:
Break the task into parts:
Product, process, organization, top-down dismantling, analysis and organization considering the overall situation, ensuring nothing is missed, considering reality
Make a schedule:
Q: How did a project get delayed for a year?
Answer: A one-day delay every time you encounter a problem is enough to lead to this result.
What is the workflow?
How do we do development?
What steps need to be followed?
What is the relationship between each step?
Project-level workflow: requirements, review, design, development, auditing and testing, deployment and monitoring
After having the workflow
Don’t cut corners in development
Workflow improves efficiency, not reduces it
There must be agreed upon punitive and incentive measures before implementation.
3. Where does demand come from?
Exploratory project needs, targeted projects (user needs are not clear), targeted projects (user needs are clear)
4、Git
Problems we face:
Multiple people need to participate in the development of a software.
A software may have multiple versions to be supported.
A software may use multiple different operating environments.Version of the benchmark:
This specification should be approved by a formal review according to the stage specifications required for quality management.
The subsequent development process should follow the requirements of the "baseline".
Modifications to the baseline must be extremely cautious and must go through a strict change process.
example:
Baseline A: All interfaces should be completely defined, and the content of each method should be empty.
Baseline B: All data access methods should be implemented and tested.
Baseline C: GUI completed
Benchmark naming:
There is a very common three-point nomenclature for naming benchmarks.
ABC (such as 9.3.1)
A: The number of released tags (Release) seen from the perspective of users (consumers)
B: The key version (Version) number seen from the perspective of developers
C: Focused from the perspective of developers Revision number ofDefinition of terms: Release (Release) Version (Version) Revision (Revision)
Version (Version) : The combination of "code and its accessories" that is originally released or re-released, which should be fully compilable or deemed to be fully usable . Different versions exhibit different functional features.
Revision : For a revision of a version, only code design error corrections are made, and there are no changes to the functional features described in the documents in the "Accessories".
Release: An approved version for distribution to users.Three partitions of the local Gt repository:
01 working directory (modified/unmodified files) working directory
02 staging area (temporarily stored files) staging area
03 Gt warehouse (submitted files) repoBasic Git usage:
Configure a Gt warehouse:
Git init creates a Git warehouse and puts the current directory under Gt management.
Git clone clones an existing Git warehouse to the local
Git config and sets the basic configuration of Gt (such as email address and name).
Create a warehouse
01 Create in the current directory git init
Create in the specified directory
02git init <specified directory path>
03 Create a bare git warehouse git init --bare myrepo.git
Git multi-person collaboration/remote warehouse:
branch
01 View existing branches git branch Create branch
02 git branch<branch name>
03 Switch branch g it checkout<branch name> Create and switch to branch
04 git c checkout-b<branch name> Delete branch
05 git branch-d<branch Name>Default behavior for merging
When only executing g it merge, if fast-forward is possible, then fast-forward, otherwise non fast-forward merge will be performed.
During the non fast-forward merge process, an attempt will be made to merge the modifications.
If a conflict occurs that cannot be automatically merged, the conflict needs to be resolved manually.
GitLab tools
Task management and planning:
Create Milestone in Group
Split tasks in Group/Repo, establish Issue-related Milestones, set deadlines, and evaluate completion time. Pay attention to task plans during the development process
Use of Issue
01 Issue in Group: not specific to the development of a certain part
02 Issue in Repository: specific to the development of a certain part
03 No matter which part of the Is$ue it is, it should be completed and closed
3. Code submission, testing and auditing
What are the requirements for submitting the code after writing it
? 01 A branch is associated with an issue, and one submission only does one thing.
02 The submitted content should be related to the purpose of the branch
. 03 The first letter of the submission information should be capitalized and associated with the issue.Continuous Integration and Code Review
01 After initiating a Merge Request, the test will run automatically.
02 After the automated detection passes, we can conduct a manual review.
03 After the manual review, the modification can be approved, and then the merge can be completed by the MR sponsor or project leader.