itec 370
DESCRIPTION
ITEC 370. Lecture 16 Implementation. Review. Questions? Design document on F, feedback tomorrow Midterm on F Implementation Management (MMM) Team roles Code reviews / Pair programming. Objectives. Look at version control. Scenario. You spend 4 hours working on a feature - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: ITEC 370](https://reader035.vdocuments.mx/reader035/viewer/2022072013/56812a93550346895d8e434b/html5/thumbnails/1.jpg)
ITEC 370
Lecture 16Implementation
![Page 2: ITEC 370](https://reader035.vdocuments.mx/reader035/viewer/2022072013/56812a93550346895d8e434b/html5/thumbnails/2.jpg)
Implementation
Review
• Questions?• Design document on F, feedback
tomorrow• Midterm on F• Implementation–Management (MMM)– Team roles– Code reviews / Pair programming
![Page 3: ITEC 370](https://reader035.vdocuments.mx/reader035/viewer/2022072013/56812a93550346895d8e434b/html5/thumbnails/3.jpg)
Implementation
Objectives
• Look at version control
![Page 4: ITEC 370](https://reader035.vdocuments.mx/reader035/viewer/2022072013/56812a93550346895d8e434b/html5/thumbnails/4.jpg)
Implementation
Scenario
• You spend 4 hours working on a feature
• Another teammate also spends 4 hours working on a feature
• Both work• Both include changes to the same
system• Which code should be accepted?
![Page 5: ITEC 370](https://reader035.vdocuments.mx/reader035/viewer/2022072013/56812a93550346895d8e434b/html5/thumbnails/5.jpg)
Implementation
Issues
• What files are part of the repository• Who can modify each file• How are conflicts (merges) handled• Who can add files to the repository• Who can remove files from the
repository• Are all changes logged so reversion
is possible
![Page 6: ITEC 370](https://reader035.vdocuments.mx/reader035/viewer/2022072013/56812a93550346895d8e434b/html5/thumbnails/6.jpg)
Implementation
Updating
• When you change the repository you can leave a message
• Extremely useful in maintenance• Also useful for keeping track of
developers
![Page 7: ITEC 370](https://reader035.vdocuments.mx/reader035/viewer/2022072013/56812a93550346895d8e434b/html5/thumbnails/7.jpg)
Implementation
Bad version control
• Fruit can / USB key• Issues– Backup?– Source hog
![Page 8: ITEC 370](https://reader035.vdocuments.mx/reader035/viewer/2022072013/56812a93550346895d8e434b/html5/thumbnails/8.jpg)
Implementation
Types
• Simple– Only one person can write at a time
• Centralized– One server to rule them all
• Distributed– Spread out all over the place
![Page 9: ITEC 370](https://reader035.vdocuments.mx/reader035/viewer/2022072013/56812a93550346895d8e434b/html5/thumbnails/9.jpg)
Implementation
Access
• GUI– Integrated into IDE
• Non-GUI– Command line app– Type in commands to handle it
(preferred method)
![Page 10: ITEC 370](https://reader035.vdocuments.mx/reader035/viewer/2022072013/56812a93550346895d8e434b/html5/thumbnails/10.jpg)
Implementation
Git
• Free for open source, low cost for private repositories
• Distributed system– Local / remote repository
• Supports branching and merging– Good for experiments– Takes extra effort
![Page 11: ITEC 370](https://reader035.vdocuments.mx/reader035/viewer/2022072013/56812a93550346895d8e434b/html5/thumbnails/11.jpg)
Implementation
Visually
Initial Prototype 1
Prototype 2
Alpha 1
![Page 12: ITEC 370](https://reader035.vdocuments.mx/reader035/viewer/2022072013/56812a93550346895d8e434b/html5/thumbnails/12.jpg)
Implementation
Starting a repository in Git
• First off create content• Second, store content in a directory• Commands– git init– git add .– git commit –m “Initial commit”
![Page 13: ITEC 370](https://reader035.vdocuments.mx/reader035/viewer/2022072013/56812a93550346895d8e434b/html5/thumbnails/13.jpg)
Implementation
Updating
• Use git diff to see what is different between working copy and repository
• Use git commit –a to add local changes to repository
• Warning: Have to add new files manually– git –A .
• Fun– git blame filename
![Page 14: ITEC 370](https://reader035.vdocuments.mx/reader035/viewer/2022072013/56812a93550346895d8e434b/html5/thumbnails/14.jpg)
Implementation
Remote repository
• Want to get code from someone?– git remote add origin
[email protected]:vogella/gitbook.git– Switch to a different directory– git clone --bare . path/gitbook.git
• Want to send code to someone?– git push –u name master
![Page 15: ITEC 370](https://reader035.vdocuments.mx/reader035/viewer/2022072013/56812a93550346895d8e434b/html5/thumbnails/15.jpg)
Implementation
Guide
• Excellent tutorial
• Branching / merging• Specifics / examples
http://www.vogella.com/articles/Git/article.html
![Page 16: ITEC 370](https://reader035.vdocuments.mx/reader035/viewer/2022072013/56812a93550346895d8e434b/html5/thumbnails/16.jpg)
Implementation
Review
• Version control–Why–What is typically used– Example of Git