Reużywalność jest niczym tęczowa breja

Dawno temu w deszczowej Szkocji, przemierzając rowerem krzywy wiadukt kolejowy, doznałem olśnienia. Mym oczom ukazały się wielokolorowe puzzle, zbite w olbrzymią, tęczową breję. Każdy z kolorów symbolizował inną domenę biznesową. Ktoś zmieszał te wszystkie, niepasujące do siebie elementy razem. Dlaczego? W imię wielokrotnego użycia kodu!

(więcej…)

Ładny powiększony robak

Kiepski kod == więcej błędów

Błąd. Dziura. Usterka. Codzienność z życia programisty. Wszystkim deweloperom na świecie te słowa są znajome, no, chyba że nie znają Polskiego, ale ja nie o tym :). Występowanie bugów jest naturalną składową tworzenia oprogramowania. Nie ma w tym nic złego, a problem pojawia się, dopiero gdy jest więcej błędów, a Ty nie jesteś w stanie nad nimi zapanować. Jak to wygląda i co jest jego przyczyną? Opisuję i objaśniam :)

(więcej…)

Ludzie podają sobie miseczkę z pomidorami

Współdzielenie kodu w .NET

Współdzielenie kodu pomiędzy projektami przyspiesza dodawanie nowych funkcjonalności i zmniejsza ilość występujących błędów. Jak łączyć wspólne fragmenty w dotnecie? Jeżeli projekty używają tej samej wersji frameworka, to jest to bardzo łatwe i intuicyjne. W przeciwnym wypadku sprawy nieco się komplikują. Zapraszam na opis sposobów wielokrotnego użycia kodu w świecie .NET, które możesz zaadaptować do innych technologii.

(więcej…)

rozgrzana patelnia ze smażonymi warzywami

Kiepski kod – 1 – Powolne tworzenie nowych funkcjonalności

Pamiętasz sytuacje, gdy czas implementacji nowych funkcjonalności rósł w nieskończoność? Masz może w głowie projekt, gdzie dodanie pola, czy zmiana pojedynczej reguły walidacyjnej trwała wieki? Ja niestety tak. Jednym z powodów takiego stanu rzeczy jest niedbanie o czystość kodu. Sytuację tę przedstawię na przykładzie kuchennej analogii wyjaśniającej powolne tworzenie nowych funkcjonalności.

(więcej…)

Kiepski kod – Wstęp – Jak rozpoznać zaniedbany kod?

Czysty kod to ściema! Ważne by działał i zarabiał pieniądze. Zgodziłbym się z tym stwierdzeniem po wprowadzeniu malutkiej zmiany. Ważne by działał stabilnie i zarabiał pieniądze przez długi okres. Ta mała zmiana implikuje, by miał mało błędów oraz był tani w rozwoju i utrzymaniu. Co wymusza tworzenie czystego kodu. Jaki odsetek programistów dba, by kod był wystarczająco czysty? Zdecydowanie za mało. Z czego to wynika? Nie potrafią pisać dobrego kodu lub nie zadają sobie sprawy, że coś robią nie tak. Będę chciał poruszyć oba problemy, jednak na razie skupię się na drugim, ważniejszym. Zapraszam.

(więcej…)

Trzy najpopularniejsze strategie branczowania

Ilu programistów traci swój cenny czas na merdżowaniu kodu, zamiast skupiać się na tworzeniu nowych funkcjonalności? Sporo. Grube legiony developerów postrzega gita jako przeszkodę, a nie jako pomocne narzędzie. By zmniejszyć tę ilość, przedstawiam trzy najpopularniejsze strategie branczowania. Poznaj je i zrozum, a następnie wyłuskaj z każdej to, co jest najlepsze dla Ciebie i Twojego projektu. Miej na uwadze, że każda z nich ma swoje wady i zalety. W pewnych sytuacjach sprawdzi się jedna, a do innych się nie nada.

(więcej…)

Jak nie branczować

Git to najpopularniejszy system kontroli wersji. Pomaga hordom programistów pracować lepiej, wydajniej i bardziej elastycznie. Pomimo że liczy sobie już ponad trzynaście lat, wciąż wiele osób używa go źle, zabijając w ten sposób produktywność. Problem ten objawia się głównie przy pracy z branczami i koniecznością merdżowania. Oczywiście przed gitem istniały gałęzie, ale tworzenie ich było ciężkie. On to zmienił. Umożliwił łatwe i szybkie tworzenie branczy przez każdego. Co niejednokrotnie skutkuje katastrofą. Czego zatem nie robić? Przedstawię dziś kilka antywzorców jak nie branczować.

(więcej…)

Opinia o książce „Czysta Architektura”

Gdy dowiedziałem się o nowej książce Roberta C. Martina „Czysta Architektura”, musiałem ją mieć, gdyż darzę autora dużym zaufaniem. Jeszcze przed otwarciem wiedziałem, że tytułowa bohaterka, będzie architekturą opartą na wtyczkach i pluginach. Pomimo tej oczywistości, książka okazała się bardzo wartościowa. Ze względu na masę argumentów i przykładów. Wiele rzeczy pokryło się z moją dotychczasową wiedzą, ale dowiedziałem się również czegoś nowego. Czego? Już piszę i zapraszam.

(więcej…)

Czym jest kod idealny?

Od lat chodzą mi po głowie myśli o kodzie idealnym. Różne koncepcje, potwierdzające i obalające. Z jednej strony wiem, że coś takigo nie istnieje, ale z drugiej chcę szukać, drążyć. Gonić króliczka. Podczas deweloperskiej drogi miałem różne opinie na temat super-kodu. Z każdym rokiem, gdy nabieram więcej pokory i więcej rozumiem, moje spojrzenie się zmienia. Dzisiaj przedstawiam różne perspektywy tego tematu.

(więcej…)