piątek, 30 września 2011

Mylyn i code review

Generalnie jestem zwolennikiem tekiego code review gdzie nie ma wyznaczonego jednego guru, ktory to robi. Ludzie w projekcie sprawdzaja nawzajem swoj kod. Guru patrzy na wazniejsze kawalki. Zalozmy jednak, ze ty - guru yoda - jestes namaszcony zeby robic co jakis czas review swiezego kodu. Pisze go 10 koderow. Jak w prosty sposob przekazac tym koderom swoje uwagi i nie namacic w kodzie? Jak wskazac im te miejsca, ktore trzeba przepisac. Moze Excel ;P moze wstaei komentarze do kodu..
Tu z pomoca przchodzi znowu Mylyn! Oto super prosty i skuteczny, sprawadzony przez wielu przepis, a juz jak grupa jest rozproszona to nie ma lepszego...
Otoz kazde review traktujesz jako odrebne zadanie mylyna. Aktywujesz zadanie, przegladasz kod napisany przez Martina, a mylyn tworzy kontekst. Zeby nie smiecic w kodzie zbedynmi komentarzamie dodajesz bookmarki. Na koncu zapisujesz nowe zadanie jak np. bug przydzielasz Martinowi i dodajesz do niego utworzony przez mylyna kontekst. Martin przychodzi do pracy odpala swojego sexclipsa i widzi na swojej liscie nowe zadanie. Aktywuje je, otwiera mu sie kontekst i juz wie na co ma zwrocic uwage. Czyz to nie super narzedzie ten mylyn !!?

W mylynowym kontescie nie widac wszystkich plikow

Po co widziec te wszystkie pliki? Po to sa rozne kontesty zeby latwiej bylo sie w nich poruszac (moje proste wyjasnienie). To kwestia przestawienia sie na Task Focused Programming. Jednak moj kontekst sie szybko "brudzil".
Byly ku temu dwa powody:

1. A to w trakcie pracy nad problemem A zapragnalem na chwile wskoczyc w problem B
2. A to ktos przyszedl do mnie, zeby sie o cos spytac w kodzie

Wylaczenie aktywnego zadania powodowalo, ze wszystkie edytory byly tez zamykane. Wtedy ja szukalem tego co mi bylo potrzebne. Ewentualnie nie deaktywowalem zadania nad ktorym pracowalem i wtedy kontekst "wybogacal sie" o rzeczy z nim niezwiazane. Znalazlem na to 2 rozwiaznia. Oto one:
Rozwiazanie 1. Utworzylem sobie nowe lokalne zadanie o nazwie WTF (wiadomo). Mozna tez AnyOtherBusiness lub DevNull jak kto woli. Ilekroc ktos ma do mnie jaki biznes przelaczam sie na moje specjalne smietnikowe zadanie i szafa gra.
Rozwiazanie 2. Zauwazylem ze w widoku "Projec Explorer" kiedy zatrzymam myszke na ikonce projektu lub pakietu pojawia sie obok niej taki maly "+". Po nacisnieciu dostaje sie pelny widok jednak nie jest on dodawany do kontekstu dopukni nie otworze pliku.
Rozwiazaniem podzielilem sie z kolega obok i bardzo mu sie spodobalo.Tteraz obaj mamy zadanie WTF na naszych listach :)

czwartek, 29 września 2011

Przestaje narzekac na waterfall - serio !

People matter! No ale jak people decyduja zeby olowek ostrzyc widelcem to.... to stwierdzenie "People matter!" dopiero nabiera mocy, znaczenia i .... kto wie czego jeszcze. A teraz do rzeczy.

Dla wszystkich narzekajacych na waterfall:
http://www.scrumology.net/2011/07/19/stop-blaming-waterfall/
Nastepnie obowiazkowo!:
http://www.thoughtworks.com/the-new-methodology
A potem dyskusja z kolegami i kolezankami przy herbacie. People matter!

środa, 28 września 2011

Testy automatyczne - oszczedzaj cenny czas nie tylko programistow

Jak najszybciej sie przekonac, ze automatyzacja testow sie jednak oplaca (oplaca=generuje mniejsze koszty)? Trzeba policzyc ile czasu istoty ludzkie spedzily recznie testujac. Nastepnie przemnozyc to przez sume planowanych releasow w roku oraz srednia ilosc hotfix-releasow (na bazie wczesniejszych doswiadczen) w roku. W ten sposob uzyskana wartosc nalezy przyrownac do budzetu jaki jest planowany na wprowadzenie testow automatycznych (tu sa wszelkie licencje na software, koncepcje, programowanie, wdrozenie i utrzymanie testow). Na koniec nalezy wyciagnac wnioski.
To oczywiscie duze uproszczenie jenak tak to mniej wiecej wyglada.
Warto przy okazji wziac pod uwage bardzo kosztowna operacje zmiany planow w razie kiedy produkt nie nadaje sie do testow a jednak na testy idzie. Dzieje sie tak zazwyczaj z powodu niewykrycia, ze cos co powinno dzaialc nie dziala. Zespol programisto oddaje funkcjonalnosc do testowanie zespolowi testerow. Cale przekazanie zostalo miesiac wczesniej zaplanowane i ustalono kto co kiedy robi. Nagle okazuje sie, ze testerzy nie moga testowac bo pewien element funkcjonalnosci nie dziala. STOP!
Wyobraz siebie co dzieje sie dalej - to zalezy od tego co juz wczesniej widziales.

Automatyzacja nie dotyczy tylko testowania. Automatczny proces budowania, deployment, weryfikacja.. Jest wiele miejsc gdzie mozna oszczedzic ludzki czas.
Z drugiej strony nie wszystko da sie zautomatyzowac, co wiecej nie wszysto nalezy automatyzowac.

poniedziałek, 26 września 2011

Byc testerem, pierwsze wrazenia...

Od kilku dni wspieram zespol testerow. Ktos pomyslal, ze bedzie to dla mnie dobra okazja do zapoznania sie z funkcjonalnoscia systemu. No wiec testuje i wspolczuje wszystkim testerom klikajacym codziennie po raz setny ten to smo GUI. Robie przy tym notatki z uwagami co do procesu. Nie moge powiedziec, ze sie niczego ciekawego nie ucze. Jednak taka praca powinna byc w jak najwiekszym stopniu zautomatyzowana tak zeby ludzie, majacy mozg, wyobraznie i inne niessamowite atrybuty mogli zajmowac sie wlasciwymi dla nich rzeczami. W ksiazce Pragmatic Project Automation mozna znalezc akapit pod tytulem:
Why should automate something? - Bardzo jasno wyjasnine.

piątek, 23 września 2011

Bookmarki + mylyn = jeszcze lepsza dystrybucja informacji

Czy wiesz, że mylyn w kontekście aktywnego taska zapamiętuje również bookmarki? Rewelacje... czyli teraz mogę opisywać (poza oficjalnymi komentarzami w kodzie) różne dodtkowe, istotne rzeczy.... Takie proste a jak cieszy!

czwartek, 22 września 2011

Bezpieczna odległość

W ostatnią niedzielę wracając do Wolfsburga miałem nieprzyjemność stuknąć ciężarówkę w naczepę. Kierowca nawet się nie zorientował. Na rondzie skręcał z lewego pasa w prawo, zobaczył, że ktoś już jest na prawym pasie i depnął w hamulec. Ja jechałem za nim, też depnąłem w hamulec i leciutkie bum. Wystarczyły by mi 2 metry więcej żeby nic się nie stało. Wg mnie to była mimo wszystko tania lekcja. Bezpieczna odległość to względne pojęcie. Tak sobie pomyślałem, że umiejętność zachowania bezpiecznej odległości jest bardzo cenna. Generalnie dobrze jest mieć miejsce na wyhamowanie, wystopowanie. Nie tylko na jezdni....
Ubiegając niektóre przemyślenia - ynajomość stanu hamulców i opon i warunków atmosferycznych też jest ważna...
Corsa nie nadawała się do dalszej jazdy gdyż mimo lekciutkiego wgniecenia maski wyłamały się uchwyty świateł i dupa.... Na szczęście mogłem pożyczyć auto od teścia i ruszyć dalej.

piątek, 16 września 2011

Czytelne nazwy metod a jezyk ojczysty kodera

Jestem jak jak najbardziej za pisaniem takich nazw metod, ktore dla osoby czytajacej to po mnie beda zrozumiale. Czy mi to zawsze wychodzi? Nie, nie zawsze. Wciaz sie pilnuje i sile nad takimi sensownymi nazwami. Robie to po to abz utrzymanie tekigo kodu bylo w przyszlosci latwiejsze i przez to tansze. Dzisiaj pokazalem koledze kawalek kodu (testu) ktory napisalem z prosba o komentarz. Zapytalem tez czy to jest dla niego czytelne. Zasugerowal mi, ze ladniej bedzie jak uzyje jezyka niemieckiego zamiast angielskiego. I oto jaka nazwa mi wyszla:
konstenArtAenderungVonNichtVerkaufserloeseNachVerkaufserloeseSollNichtZulaessigSeinVorgangImStatusAnfrageGestoppt

środa, 14 września 2011

Dzień Programisty

Wczoraj tj 256 dnia roku obchodziliśmy Dzień Programisty.
Wszystkim programistom i programistkom życzyłem wczoraj żeby nie przestawali kodować.

czwartek, 8 września 2011

Mylyn + bugzilla - jak pomóc innym i sobie


Będzie krótko. Spędziłem kilka ostatnich dni na analizie i korekcie defektu. Przeorałem GUI (Swing+litenery), poszedłem na serwer, kopałem tam jakiś czas i dokopałem się do źródła. I jak teraz opisać innemu programiście całą tą moją wycieczkę żeby w razie potrzeby dotarcie do tego źródła oszczędził czas? Mylyn + jego context.



Jako bugtrackera używamy bugzilli. Defekt importuję do IDE jako nowy zadania (Mylyn się cieszy). Ja buszuję w kodzie a Mylyn tworzy kontekst. Przed zamknięciem defektu wywalam z kontekstu śmieci i załączam go do zadania (defektu). Submit i teraz każdy kto będzie musiał coś dotknąć w tym miejscu i odnajdzie tego bugu w bugtruckerze będzie mógł zaimportować stworzony przeze mnie kontekst i mieć mapę z drogą do żródła.

Scrapbook page - one of the most undervalued and forgotten features of Eclipse

Zachęcam wszystkich mówiących w języku java do zapoznania się z:
One of the most undervalued and forgotten features of Eclipse - Scrapbook page'ami.
http://www.eclipsezone.com/eclipse/forums/t61137.html

wtorek, 6 września 2011

Mieszkasz, żyjesz wodę pijesz

Szukam mebli, sprzętu do kuchni, czekam na podłączenie netu w mieszkaniu....
Na jednej wystawce znalazłem fajną szafkę. Mam nadzieję, że Małgosi i Jankowi się spodoba...

Autostradowa Obwodnica Wrocławia

Jadąc na weekend do Polski zauważyłem na austostradzie A4 znak na Poznań. Hmmm.... czytałem, że tydzień wcześniej było wielkie-małe otwarcie AOW. To teraz nie muszę stercyeć 1-1,5 godziny w korkach żeby przejechać miasto ?!? Naprawdę ?!?! Wjechałem na AOW i zostałem bardzo mile zaskoczony. Tak, zaskoczony, bo nie śledziłem postępu prac i nie zdawałem sobie sprawy jak to w rzeczywistości będzie wyglądało. AOW WOW !