ITEC 370

16
ITEC 370 Lecture 16 Implementation

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 Presentation

Transcript of ITEC 370

Page 1: ITEC 370

ITEC 370

Lecture 16Implementation

Page 2: ITEC 370

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

Implementation

Objectives

• Look at version control

Page 4: ITEC 370

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

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

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

Implementation

Bad version control

• Fruit can / USB key• Issues– Backup?– Source hog

Page 8: ITEC 370

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

Implementation

Access

• GUI– Integrated into IDE

• Non-GUI– Command line app– Type in commands to handle it

(preferred method)

Page 10: ITEC 370

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

Implementation

Visually

Initial Prototype 1

Prototype 2

Alpha 1

Page 12: ITEC 370

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

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

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

Implementation

Guide

• Excellent tutorial

• Branching / merging• Specifics / examples

http://www.vogella.com/articles/Git/article.html

Page 16: ITEC 370

Implementation

Review

• Version control–Why–What is typically used– Example of Git