Zamień smoki na pandy

“Here be dragons” – czy słyszeliście kiedyś ten zwrot? Czy słyszeliście o nim w kontekście programowania albo widzieliście taki komentarz w kodzie?

Tak? To współczuję – mam nadzieję, że byliście wtedy przyodziani w SOLIDną zbroję, i mieliście odpowiedni ekwipunek, żeby sobie z tymi smokami poradzić. Przede wszystkim miecz. Podobno jednym ze sposobów zwalczania smoków w kodzie jest użycie legendarnego miecza zwanego Excalibur Refactorum. Legenda głosi, że miecz ten wbity jest w skałę (gdzieś w okolicach Stonehenge), na której wyryte są wzorce projektowe i inne dobre praktyki programistyczne.

Nie każdy jest godzien, by ten miecz wyciągnąć, nie każdy jest godzien, by nim władać

– ma głosić tekst na kamiennej tablicy przy skale.

Nie każdy jest godzien nawet, by zostać rycerzem! Do tego trzeba być pasowanym na przykład realizując swój pierwszy projekt oraz wyznawać zasady płynące wprost z kodeksów rycerskich, jakimi są Manifest Agile i Manifest Software Craftsmanship (tak, mamy dwa kodeksy!). Ale o tym nie dzisiaj – opiszę to dogłębniej w jednym z kolejnych postów.

No dobrze, a co jeżeli nie miałeś do czynienia z określeniem “Here be dragons”? Ano nie ciesz się przedwcześnie i nie raduj zbyt pochopnie. To, że nigdy się z nim nie spotkałeś podczas swojej programistycznej kariery, może znaczyć jedynie tyle, że żaden z twoich kolegów i żadna z twoich koleżanek po fachu prawdopodobnie nie są z zamiłowania kartografami. Bo to właśnie kartografowie podobno umieszczali ilustracje smoków i innych mitycznych stworów w miejscach na mapach, które uważali za niebezpieczne.

Okazuje się, że programiści-kartografowie istnieją! 10 lat temu na StackOverflow pewna osoba chciała się dowiedzieć, jak brzmiał komentarz w kodzie dotyczący smoków. Chodziło właśnie o “Here be dragons”. Zostały nawet wspomniane kody źródłowe, w których ta przestroga została użyta. Nie należy niestety ten komentarz do zbioru tych lubianych i stosowanych przeze mnie (a takie mam!), ale skoro w pewnym stopniu stał się on programistyczną legendą, to zastanówmy się przez chwilę, jaką informację niesie on o danym kawałku kodu, ale i również o nas samych.

Tutaj są smoki. Przestroga mówiąca nam, aby nie zapuszczać się w te rewiry. Mówiąca o tym, że kod, który zaraz zobaczymy, jest nieokiełznany, skomplikowany, niezrozumiały. Wyobraźcie sobie! Wchodzicie do klasy. Spoglądacie na liczbę lini kodu. Widzicie 2000. Sprawdzacie metody. Jest jedna. Nie rozumiecie jej znaczenia, nazwa nic nie mówi. W środku całe mnóstwo: “if-else”, “for”, “while”, “break”, “return”, “goto” (nieee, żartuję). Sprawdzacie zmienne: “x”, “temp”, “temp2”, “r”, “dms”, “lol”, “e”. Wracacie na szczyt metody, a przed nią komentarz “Here be dragons”. “Żartobliwy. A jaki wyrafinowany!” – ktoś pomyśli. Faktycznie, można się zaśmiać. Niestety chwilę później uśmiech znika z naszej twarzy, gdy zdajemy sobie sprawę, że musimy wprowadzić pewne zmiany w tej metodzie. Dlatego nie sposób nie dostrzec tragizmu tego komentarza. Tak, bo stała się tragedia! Ktoś z nas, programistów i programistek, dopuścił do pojawienia się w tamtym miejscu smoków! Jak to się stało?

Spróbujmy przenieść się do tego świata. Niech nasz projekt zmieni się przez chwilę w grę Jumanji. Bierzemy kości do gry w dłonie i wykonujemy rzut. Kości toczą się długo, aż w końcu się zatrzymują i nagle projekt nas pochłania. Lecimy przez ciemny tunel, na którego końcu widać jasne światło. Jest coraz jaśniej, aż nagle nas oślepia i nic nie widzimy.

(Kurcze, właśnie zdałem sobie sprawę, że niestety często nasze projekty wyglądają właśnie jak taka gra w Jumanji – i oto zrodził się pomysł na kolejny wpis! Cierpliwości, rozwinę w nim swoją myśl)

Lądujemy na dupie. Przecieramy oczy i ukazuje się nam piękna, porośnięta zielenią kraina. Wstajemy. Wokół nas zielona i pachnąca trawa, sięgająca połowy łydek. Słyszymy głosy nieopodal, dochodzące zza niewielkiego wzniesienia: uderzenia metalu o metal, śmiechy, stukot końskich kopyt. Udajemy się w tamtą stronę. Stajemy na wzgórzu i naszym oczom ukazuje się wioska tętniąca życiem. Nagle słyszymy huk i krzyk! “Kurwa! Przecież mówiłem ci, żebyś tego nie ruszał! Znowu to spartaczyłeś i musimy teraz zaczynać od nowa!”. Spoglądamy w tamtą stronę i widzimy przyczepę z arbuzami, która zapadła się pod ich ciężarem. Młodzieniec, który wydaje się być odpowiedzialny za ten wypadek, szybko stara się naprawić koła, lecz nie jest w stanie podnieść przyczepy. Starzec, pewnie jego przełożony, wydziera się na niego pomagając przy tym wyciągnąć z niej arbuzy, by nieco ją odciążyć. “Swojacy” – myślimy sobie i idziemy się przywitać.

Zostaliśmy ciepło przyjęci, ludzie są tutaj mili, aczkolwiek bywa różnie. Dowiedzieliśmy się, że miejsce, w którym się znaleźliśmy, nazywane jest Krainą Arbuzów. Po kilku dniach zrozumieliśmy, że nie bez przyczyny – wioska ta produkuje arbuzy na zamówienie. Głównie dla jegomościów z okolicznych wiosek, ale również z wielkich miast oddalonych o kilka dni drogi na zachód. Pomagamy im w każdej nowej dostawie. Arbuziarze – tak nazywa się tutaj ludzi produkujących arbuzy. Stałem się więc arbuziarzem.

W piątki, po ciężkim tygodniu pracy, wszyscy arbuziarze spotykają się w tawernie. Oczywiście wybieramy się razem z innymi. Jest to nasz pierwszy tydzień pracy, dlatego chcemy pokazać się z dobrej strony. Pijemy piwo. Dużo piwa. Gra muzyka, ludzie się przekrzykują. Jak to bywa na takich ucztach, niewiele potrzeba do bójki.

– Bez dobrego nawozu, arbuz ci nie urośnie. To jest oczywiste! A najlepszy nawóz robię ja! – mówi poddenerwowany Clifford, jeden z arbuziarzy z mojej brygady.
– Ty? Haha! Gówno do nawozu bierzesz pewnie ze swojej głowy! Nic z tego nigdy nie urośnie! Haha! – odpowiada mu Jacob, uderzając kuflem pełnym piwa o drewniany stół i zanosząc się przy tym śmiechem.
– Nic nie wiesz o nawozie!
– Wiem tyle, że twój nawóz jest do niczego! Wszystkie twoje arbuzy od razu można wrzucić do beczek z odpadami! Haha! Na twoim nawozie wyrosną jedynie chwasty! Clifford chwaściarz! Haha!

Wszyscy zgromadzeni w tawernie ryknęli naraz śmiechem. Clifford zaczerwienił się ze złości i rzucił na Jacoba. Ten się tego nie spodziewał i chwilę później leżał na ziemi przygnieciony jego ciałem. Clifford ścisnął pięść i z całej siły uderzył Jacoba w twarz. Drugi raz. Za trzecim złamał Jacobowi nos. Struga krwi trysnęła na drewniane deski parkietu, brudząc przy tym buty siedzących blisko ludzi. Dwóch arbuziarzy nagle łapie Clifforda, odciąga go i rzuca nim w stronę sąsiedniego stołu. Clifford runął na niego z hukiem, tłucząc kufle z piwem i przewracając ludzi przy nim siedzących. Jacob zbiera się z ziemi, podbiega do wstającego Clifforda i uderza go w głowę kolanem z całym impetem. Krew rozbryzguje się po wszystkim, co znalazło się w pobliżu. Kropla krwi zawędrowała na śnieżnobiałą koszulę barmana. Słyszeliśmy o barmanie Rolandzie wiele historii, ale wszystkie wydawały nam się niewiarygodne i przesadzone. Roland, pełen spokoju, kończy wycierać mokry, czysty kufel. Odstawia go, składa ścierkę bardzo starannie i odkłada ją na bok. Schyla się, wyciąga strzelbę. Celuję najpierw do Clifforda – to on zaczął tę bójkę. Mierzy spokojnie i strzela. Kawałki głowy rozbryzgują się po ścianie, ciało bezwładnie pada na ziemię. Muzyka cichnie. Ronald kieruje strzelbę w stronę Jacoba, który błaga o litość i przeprasza. Roland postanawia zlitować się nad nim i odstrzela mu lewą nogę. Jacob ryczy z bólu. Noga leży kilka metrów od niego, a raczej to, co z niej zostało. Koledzy Jacoba wynoszą go z tawerny, aby zawieźć go do lekarza dwie chaty dalej. Roland chowa strzelbę z powrotem pod blat baru. Muzyka zaczyna ponownie grać i wszyscy wracają do swoich dyskusji. Podobno piątek jak każdy inny.

Świętowaniu udanego tygodnia towarzyszą częste wyprawy na kebaba. Jest on popularny w tych stronach. Podczas jednej z wypraw słyszymy dziwną a zarazem intrygującą historię. Otóż dowiadujemy się, że za pomarańczowym wzgórzem – jest tak nazwane ze względu na pomarańczowy odcień krzewów i drzew, które na nim rosną – żyją smoki. Nie takie, o jakich wcześniej słyszeliśmy: czarne, ogromne i ziejące ogniem. Te tutaj właściwie są pomarańczowe i wielkości przeciętnego wilka, takiego do kolan. Mają skrzydła, lecz nie potrafią wzbić się wysoko. Podobno ich lot przypomina raczej skoki na dalekie odległości. Pomimo różnic między smokami z opowieści, a pomarańczowymi smokami, te drugie nadal są niebezpieczne, a przede wszystkim niezwykle złośliwe. Na nasze nieszczęście ich przysmakiem są arbuzy. Zrobią dla nich wszystko i wiele okolicznych wiosek, które również zajmowały się produkcją arbuzów, zostało już przez nie splądrowanych. Na szczęście nie nasza, ta ma się dobrze. Póki co.

Jak co rano, zanim zaczniemy pracę, przechadzamy się po wiosce, żeby w spokoju pooddychać świeżym powietrzem. Jednak podczas tej przechadzki zwracamy naszą uwagę na to, że arbuzy nie są w żaden sposób zabezpieczane. W sumie to chyba nigdy nie były, tylko dopiero teraz to do nas dotarło. Wiele z nich leży na kupach siana, porozrzucanych w różnych miejscach wioski. Znaczna ich część chowana jest w stodołach, lecz stodoły te nie są zamykane, drzwi zawsze są szeroko otwarte. Zdajemy sobie sprawę również z tego, że transport arbuzów z jednego miejsca na drugie lub do dorożek (nie mają tutaj żadnych innych pojazdów), odbywa się w sposób chaotyczny. Niektóre przenoszone są przez arbuziarzy niosących pod pachami po dwa arbuzy, inne przewożone są w misach na osiołkach, jeszcze inne turlane po ziemi. Przy zapakowaniu ich do dorożki, nie ma wyznaczonych żadnych standardów umieszczania ich w odpowiedni sposób, wiele z nich spada, zostaje zgniecionych, pęka. Dorożki są powolne, ich konstrukcja nie pozwala na sprawny transport. Misy, z których korzystają arbuziarze, również nie są już pierwszej młodości, są podziurawione, uchwyty w wielu już poodpadały. Sama wioska nie posiada ogrodzenia, więc każdy mógłby do niej wtargnąć bez większych problemów. Pojawiło się w naszej głowie kilka pomysłów na usprawnienia. Jednak szybko porzucamy te myśli. “Niby kiedy mielibyśmy wprowadzić te usprawnienia? Żyjemy od dostawy do dostawy. Funkcjonujemy tak już od dawna i nic się złego nie dzieje. Widocznie tak musi być.”

Ładujemy arbuzy do dorożki lecz nagle kątem oka dostrzegamy jakiś ruch. “Pewnie liście” – myślimy i wracamy do pracy. Nie minęło kilka chwil, a znowu coś się poruszyło. Tym razem postanawiamy to sprawdzić. Idziemy w stronę głównych straganów – coś szybko przebiegło nieopodal. Skręcamy, a naszym oczom ukazuje się stodoła. Drzwi do niej oczywiście są otwarte. Wchodzimy i zamieramy. Spoglądają na nas trzy pomarańczowe smoki. Wyszczerzają ostre zęby i syczą. Za nimi około dwa tysiące arbuzów – wiemy to, bo składowaliśmy je tam przez ostatnie trzy dni. Wychodzimy przerażeni. Opamiętujemy się jednak szybko i biegniemy do sołtysa. Sołtys słucha nas uważnie. Zawołał dwóch arbuziarzy i razem idziemy do stodoły. Wchodzimy, smoki nadal tam są. Sołtys zastanowił się przez chwilę. Nagle rzekł:

– Moi drodzy, nie mówcie proszę nikomu, że w tej stodole są smoki. Omijajcie ją proszę i wchodźcie tam jedynie wtedy, kiedy naprawdę musicie, najlepiej nie sami.
– Sołtysie, dlaczego ich od razu nie wypędzimy? – zapytałem zdziwiony.
– Kodencjuszu, bardzo podoba mi się twój zapał. Niestety wypędzenie smoków nie należy do prostych czynności. Podczas próby przepędzenia, mogą uciec do innej stodoły, mogą narobić szkód w wiosce. Istnieje wiele niebezpieczeństw. Każdy z arbuziarzy ma zobowiązania względem dostaw i jegomościów. Nie mogę ich tak zwyczajnie odciągnąć od produkcji arbuzów. Dlatego na tę chwilę musimy postarać się żyć ze świadomością, że są w tej stodole.
– Rozumiem. – odparłem nie do końca przekonany. Nie powiedziałem sołtysowi o moich obawach względem jego decyzji. Stwierdziłem, że widocznie tak musi być.

Niestety w ciągu kilku kolejnych miesięcy smoki zaczęły napadać na dorożki z arbuzami, przejmować kolejne stodoły. Sołtysowy nie udało się utrzymać ich obecności w tajemnicy. Smoków było coraz więcej. Nikt nie podjął się próby ich wypędzenia. Nikt nie wiedział jak. Produkcja arbuzów z dnia na dzień była coraz cięższa. Wiele dostaw nie było realizowanych na czas. Arbuziarze musieli pracować dłużej, byli coraz bardziej zmęczeni. Podczas jednej z uczt w tawernie – jednego z niewielu miejsc, które jeszcze nie zostały opanowane przez smoki – zaważamy starszą kobietę siedzącą w rogu. Pali fajkę. Nigdy wcześniej jej nie tutaj nie widzieliśmy, zawsze przesiadywaliśmy z rówieśnikami, znacznie młodszymi od niej. Zaciekawieni jej osobą postanawiamy podejść.

– Witaj starsza kobieto. Jak masz na imię?

Kobieta pyknęła fajkę, buchnęła dymem, podniosła wzrok i spojrzała na nas.

– Jestem Abigail. A ty, jak się nazywasz? – odpowiedziała chrypliwym i skrzeczącym głosem.
– Nazywam się Kodencjusz. Bardzo mi miło.
– Czego chcesz? – zapytała, po czym splunęła gęstą śliną na podłogę.
– Niczego szczególnego. – odpowiedziałem zaskoczony. Postanowiłem poruszyć temat obecnej sytuacji w wiosce – Ostatnimi czasy smoki napadły wiele miejsc w naszej wiosce. Są w stodołach, przejęły dorożki, zniszczyły misy. Nie wiem, jak mamy sobie z tym poradzić i jak mamy produkować arbuzy. Jest to coraz trudniej i jeżeli nic z tym nie zrobimy, wkrótce produkcja stanie się niemożliwa. Jesteś starszą kobietą, pewnie wiele w życiu widziałaś, co myślisz o sytuacji, w której się znajdujemy?

Abigail milczała. Zapadła niezręczna cisza. Nagle uderzyła pięścią w stół i zaczęła się śmiać. Coraz głośniej. W końcu cała tawerna umilkła i słychać było tylko jej donośmy, histeryczny śmiech. Poczuliśmy się niezręcznie, wszystkie oczy zwrócone były w naszą stronę. Spuściliśmy głowę i przeczekaliśmy atak śmiechu. W końcu przestała i rzekła:

– A czego się kurwa spodziewałeś?! Wy, młode fiutki, nic nie wiecie o produkcji arbuzów! – splunęła i kontynuowała – Sołtys nie ma żadnego doświadczenia, jest zbyt młody. A ty? Ile ty w ogóle masz lat?
– 21 – odrzekłem. – Ale ja jestem tu nowy!
– I nie widziałeś, co się tutaj dzieje?! Jak wygląda ta produkcja? Nie zauważyłeś, że nic nie jest zabezpieczone?
– No, widziałem…
– I co zrobiłeś? Hę?
– No, nic, ale…
– Jakie ale? Nic i kropka! Jesteś tak samo winiec jak sołtys i wszyscy inni arbuziarze, którzy nic nie zrobili. To nie jest moja pierwsza wioska młodzieńcze. W twoim wieku również pracowałam nad produkcją arbuzów. Wioski, w których bywałam upadały z tych samych powodów. Ludzie o nich wiedzieli, w każdej jednej wiosce. Wiedzieli również, że można inaczej, że da się to zmienić. Potrzebowali jedynie sprowadzić pandy…
– Pandy? O czym ty mówisz?
– Ha! Niczego innego się po tobie nie spodziewałam. Młody fiutek… Tak, pandy! Zamieszkują odległe krainy, daleko za pomarańczowym wzgórzem. Nazywane są strażnikami arbuzów. Podobnie jak pomarańczowe smoki, pandy uwielbiają arbuzy. Są uczynne, miłe, potrafią współpracować z ludźmi. Nie potrafią arbuzów produkować, ale potrafią nimi zarządzać, pilnować je. Smoki ich nie cierpią i boją się ich! Nie od dziś wiadomo, że pandy potrafią kung-fu i skutecznie radzą sobie w starciu ze smokami. Ludzie mogliby skorzystać z ich pomocy, ale wymaga to nieco wysiłku. Trzeba zrozumieć język pand, potrafić się z nimi dogadać, zrozumieć je, zaproponować współpracę i podzielić między nimi obowiązki.
– To jest fascynujące! Jednakże nie rozumiem… Dlaczego nie korzystamy z ich pomocy? Dlaczego nie wyruszymy jutro i nie namówimy pand, by nam pomogły?
– Młodzieńcze… Doświadczenie podpowiada mi, że wynika to przede wszystkim z trzech powodów. Pierwszy to zwykła nieznajomość języka pand. Nie znasz ich języka, to się z nimi nie dogadasz. Niestety pomimo znajomości języka, do krainy pand trzeba wyruszyć. Trzeba wiedzieć, w czym dana panda się specjalizuje – czy w pilnowaniu arbuzów, czy w przepływie arbuzów z jednej stodoły do drugiej, czy w ładowaniu arbuzów do dorożek, czy może nawet w tworzeniu innych pojazdów niż dorożki, bo to też pandy potrafią. – przerwała by splunąć, po czym kontynuowała – Nawet jeżeli arbuziarz to wszystko wie, to taka wędrówka może być mozolna, ciężka, a przede wszystkim długa. Niestety nie zawsze arbuziarz ma na to czas, rezygnuje z wędrówki i to jest właśnie drugi powód. Arbuziarze żyją od dostawy do dostawy i każda zrealizowana z zyskiem dla wioski jest dla nich małym zwycięstwem, z którego bardzo się cieszą. Wszystko byłoby dobrze, gdyby arbuziarze podczas realizowania danej dostawy, pamiętali o tym, żeby zamykać stodoły, pamiętali o tym, żeby korzystać zawsze z dobrze skonstruowanych dorożek, innych pojazdów, żeby nie uszkadzać arbuzów w pośpiechu w trakcie ładowania. Problem w tym, że nie muszą oni o tym wszystkim pamiętać, nie muszą za każdym razem obawiać się, że coś może pójść nie tak, bo o czymś zapomną, bo zrobili coś w pośpiechu i wyprodukowane arbuzy niestety mogą nie być najlepszej jakości. Mogą to za nich robić pandy…
– Zaczynam rozumieć. Abigail, powiedz mi proszę, jak w takim razie znaleźć czas na sprowadzenie pand do wioski?
– Haha! – kobieta zaśmiała się. Zmrużyła oczy, pyknęła fajką i rzekła – I tutaj dochodzimy do trzeciego problemu. Nie wystarczy znać język pand, żeby je sprowadzić, trzeba również nauczyć się języka jegomościów! Bez współpracy z jegomościami, bez zrozumienia ich potrzeb, bez przedstawienia naszego sposobu produkcji arbuzów, pokazania naszych długofalowych pomysłów na sprawną produkcję, nigdy nie będziemy w stanie sprowadzić pand!
– Abigail! Jak tego dokonać? Jak możemy nauczyć się języka jegomościów?
– Kodencjuszu… Tak jak wszystkiego innego, musisz tego naprawdę chcieć i zabrać się do ciężkiej pracy.

Tutaj nasza historia się kończy. Bo to my zostaliśmy wessani do krainy arbuzów! Pamiętacie? Rzuciliśmy kośćmi! To my często jesteśmy właśnie Kodencjuszami, abuziarzami… a może nawet i sołtysami. Czy ta historia do was przemówiła? Jakie płyną z niej wnioski?

Zamień smoki na pandy

Pomarańczowe smoki są wrednymi stworzeniami. Na pierwszy rzut oka mogą nie być groźne, może nam się wydawać, że nie musimy się ich obawiać. Źle produkujemy arbuzy? Z którymś kolejnym wyprodukowanym bez należytej uwagi, w końcu dorwie się do niego smok. Jasne, można miejsca ze smokami omijać, ale jak długo takie podejście będzie się sprawdzać?

W naszej rzeczywistości smokami jest kod napisany w pośpiechu. Kod bez dobrych praktyk, pełen brzydkich zapachów, niezaprojektowany w odpowiedni sposób i nieprzemyślany.

Pandy z kolei mogą zająć się arbuzami. Potrafią ich pilnować, chronią je, zarządzają nimi. Produkując arbuzy, wiemy, której pandzie go przekazać, w jaki sposób go tej pandzie przekazać, bo wiemy, co ona z nim dalej zrobi. Znamy tę pandę i wiemy, jak z niej korzystać.

Czym są pandy w świecie programistów? Wzorcami projektowymi, zasadami SOLID, testami jednostkowymi i wszystkimi dobrymi praktykami wytwarzania oprogramowania. Zauważcie jednak, że język pand trzeba znać. Wzorców czy testów jednostkowych trzeba się nauczyć, musimy poświęć na to czas. Dopiero wtedy będziemy w stanie z nich skorzystać w odpowiedni i poprawny sposób.

Metafora sprowadzenia pand do Krainy Arbuzów nie tyczy się jedynie umiejętności twardych, technicznych, pisania dobrego kodu. Dogadać się z nimi można znając ich język, tak, ale żeby w ogóle zacząć wędrówkę do krainy pand, musimy znać też język jegomościów, czyli krótko mówiąc biznesu. Bez umiejętności miękkich, bez sprawnego zarządzania projektem, swoim czasem, wsłuchiwania się w priorytety klientów, szczerym szacowaniem czasu kolejnych zadań, artykułowania potrzeb i zagrożeń, nie będziemy w stanie skorzystać z dobrych praktyk, bo nigdy nie będzie na nie czasu. Będziemy żyć od wydania bieżącej wersji, do wydania nowej, projekt będzie w coraz gorszym stanie, aż w końcu smoki się w nim zalęgną do tego stopnia, że jedynym wyjściem będzie jego opuszczenie.

Umiejętności miękkie i rozumienie biznesu są często niedocenianie – przez samych programistów, jak i przez ich przełożonych. Uważam natomiast, że są one kluczem do lepszych umiejętności technicznych i w ogóle do możliwości skorzystania z tych umiejętności w jak najlepszym wydaniu.

Bez umiejętności miękkich nie będziemy w stanie skorzystać z umiejętności technicznych

Pandy w naszym kodzie wynikają zarówno z umiejętności technicznych, jak i z umiejętności miękkich, które pozwoliły z tych pierwszych skorzystać.

Podsumowując, twórzmy oprogramowanie w taki sposób, aby wynikało ono zarówno z dobrych umiejętności miękkich jak i technicznych. Wtedy w naszym kodzie będziemy z dumą mogli dodać komentarz “Here be pandas”.

2 myśli do „Zamień smoki na pandy”

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *