naudokite versijų kontrolės sistemas

Post on 02-Dec-2014

1.200 Views

Category:

Education

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Kodėl programavimą reikia pradėti nuo versijų kontrolės sistemų ir kodėl verta jas naudoti. Pranešimas IT Naktis renginio metu.

TRANSCRIPT

Naudokit VersijųKontrolės sistemą!

Ignas Mikalajūnas<ignas@nous.lt>

NOUShttp://nous.lt/

IT Naktis 2010

Svarbiausias dalykas

Programuotojo gyvenime

Rimtai

Svarbiau negu programavimo

kalba kurią pasirinksite

Nesvarbu kokią VCS pasirinksite

(git, bazaar, darcs, svn, mercurial)

Kas yra ta VCS ir kam man jos

reikia?

Mano darbo procesas tobulėjo

štai taip

Parašai.Paleidi.

Parašai.Paleidi.Išsaugai.

Parašai.Išsaugai.Sukompiliuoji.Paleidi.

Parašai.Išsaugai.Sukompiliuoji.Paleidi.

Parašai.Išsaugai.Sukompiliuoji.Paleidi.

Parašai.Išsaugai.Sukompiliuoji.Paleidi. <- čia reikia VCSParašai.Išsaugai.Sukompiliuoji.Paleidi.

Parašai.Išsaugai.Sukompiliuoji.Paleidi.

Išsaugai (commit) į VCS ir parašai ką naujopadarei

Parašai.Išsaugai.Sukompiliuoji.Paleidi.

Kodėl ją reikia naudoti

Kaip pradėjau aš

Dalintis kodu su draugais ir

dirbti komandoje prie vieno

projekto

Iki VCS

From: Jonas

Labas, siunčiu naują foo.c versiją.

From: Jonas

Labas, siunčiu naują foo.c versiją. Šį kartąprikabinau.

From: Jonas

Labas, siunčiu naują bar.c versiją. Be jos tafoo.c kurią siunčiau neveiks.

From: Petras

Labas, siunčiu naują foo.c versiją, perrašiaubeveik viską ten buvo kažkokiosnesamonės.

Versijų kontrolės sistema -

padeda dalintis kodu su

draugais!

Kita svarbi priežastis

Aš ne Einšteinas

Vienu metu galiu aprėpti max

~1000 eilučių kodo

(jei labai labai stengiuosi)

Kai buvau jaunas ir kvailas

dauguma mano projektų

"augdavo" taip

Pradedu rašyti savo 3D engine

Po dviejų trijų dienų jis jau gali

pavaizduoti besisukantį kubą

ekrane.

(500 eilučių)

Po dar dviejų trijų dienų kubas

šešėliuojamas.

(800 eilučių)

Po dar dviejų trijų dienų kubas

tekstūruojamas (bet

nebešešėliuojamas).

(1000 eilučių)

Po dar dviejų trijų dienų -

programa neveikia, o paskutinis

backupas iš tų laikų kai kubas

buvo beveik su šešėliais.

(1200 eilučių)

Po savaitės - pavyko priversti

programą veikti, kubas

tekstūruojamas (bet vis dar be

šešėlių)

Po dviejų trijų dienų - kubas

tekstūruojamas ir šešėliuojamas.

(1400 eilučių)

Nusprendžiu, kad kodas

betvarkė, ir kad viską reikia

perrašyti, nes nebesuprantu kaip

ir kas ten veikia.

Versijų kontrolės sistema -

padeda suskaldyti programą į

gabalus.

Vienu metu reikia galvoti tik apie

tas dalis kurias pakeitei.

Jei kažkas neveikia - visada gali

grįžti.

Kaikurie iš jūsų jau naudojate

VCS, tik labai prastą

mano_programa.c

mano_programa.cmano_programa.old

mano_programa.cmano_programa.oldmano_programa.old.oldmano_programa.old.old.old

mano_programa.cmano_programa.oldmano_programa.old.oldmano_programa.old.old.oldmano_programa.oldest

mano_programa.cmano_programa.oldmano_programa.old.oldmano_programa.old.old.oldmano_programa.oldestmano_programa.veikianti

Patikėkite - tikra VCS leis tai

daryti daug patogiau

Aš neišmokysiu jūsų kaip

naudotis kuria nors VCS

Bet duosiu kelis patarimus

kuriuos išmokau iš kolegų

Commit - operacija kuri padeda

naujausią tavo programos

versiją į VCS

Veikia - commitink!

Neveikia - necommitink!

Necommitink nesusijusių

pakeitimų vienu metu!

Visada pažiūrėk ką pakeitei prieš

commitindamas!

(kaip kitaip sužinosi ar necommitininesusijusių pakeitimų)

Išmok skaityti diff'ą

diff --git a/vcs.txt b/vcs.txtindex 2952344..f139f3c 100644--- a/vcs.txt+++ b/vcs.txt@@ -93,4 +93,8 @@ Visada pažiūrėk kąpakeitei prieš commitindamas!

.page

+Išmok skaityti diff'ą++.page+ Fin!

Skaldyk darbą į nedidelius

gabalus.

(tai daryti dažnai sunku)

Neikit dirbti į kompanijas kurios

nenaudoja VCS

Bet aš neturiu savo serverio,

kaip man naudoti VCS?

http://github.com/

http://bitbucket.org/

http://launchpad.net/

Nesijaudinkite, niekam nereikia

jūsų kodo, ir niekas jo už pinigus

neimtų ;)

Fin!

top related