Thursday, March 31, 2005

Пак за инструментите - или не само да ги имаме, а и как да ги ползваме

Оказа се че много прогрмисти знаят и имат CVS(Subversion, MSSS и т.н.), знаят как да ги използват, ползват ги, но .... пак имат доста проблеми (казвам го защото много често чувам оплаквания от рода: "ох, затрих си sources и трябва да се върна 3 дни назад", "леле обозих нещо и не знам какво, а commit-вах рпеди 3 дни".
Според мен SCC трябва да се ползва много, много често. Commit е добре да се прави по няколко пъти на ... час! (не на ден или седмица). Защо? - ей тук ще споделя моя опит защо ми помагат честите commits (между другото изградил съм си и навик да правя commit и в края на всеки работен ден - а това предполагам лесно може да се автоматизира при затваряне на IDE-то):
1. (и най-важно) можем да се връщаме назад на малки стъпки - причината е много елементарна - ако commit-вам на всеки 10 минути например, "бозите" които ще сътворя за тия 10 минути са много по-малко отколкото бозите които бих написал за 3 дни. така после лесно мога да открия и къде съм сбъркал. тази техника отличо пасва и с техниката за често пускане на UnitTests - причината е абсолютно същата.
2. честа синхронизация с колегите които работят по същия код - така избягваме проблемите по стиковането на кода. това налага обаче и чести updates, което също не е болка за умиране .

Друго правило което гледам да спазвам е да слагам тагове когато стигна положение в което кода е в добро състояние. (какво означава в добро състояние всеки може да прецени сам според мен). Т.е. когато "усетя че текущото състояние е "добро" слагам таг на целия проект с някакво име. Същата техника може да се ползва и за край на итерация/release.

Ако трябва да обобщя , то е не само да "ползваме" програмистките инструменти, но и да ги ползваме често. И идеята е да изградим навици за това, а не да си търсим причини да не го правим. Навика е автоматизация ;) - правиш го без да мислиш (и от самосебе си разрешаваш прблеми от рода на най-горе описаните 2 ).
Или както беше писал Steve McConnell в Rapid Development: ако дадем бормашина в ръцете на човек който не знае нищо за електричеството, той ще го използва като чук. (цитата не е малко неточен)

0 Comments:

Post a Comment

<< Home