Archiwum

Posts Tagged ‘linki’

Cargo cult programming

14/07/2011 Dodaj komentarz

Ostatnio parokrotnie trafiłem na pojęcie kultu cargo, co w końcu doprowadziło mnie do Cargo cult programming. I to właściwie wszytko :). Takie zgrabne pojęcie, a tyle oddaję.

Ze swojego podwórka. Pamiętam jak we wczesnej wersji Springa, kiedy wymagane było tworzenie interfejsów do beanów dla których chciało się tworzyć proxy (było to na potrzeby tworzenia mechanizmu transakcji). I tu bezrefleksyjnie klepane były wszystkie klasy z interfejsami, i w wielu przypadkach nigdy nie korzystało się później z możliwości jakie dawały te interfejsy ;). Tak w mądrych przykładach było, więc pewnie powinno być tak. I sam później jeszcze przekazywałem innym, że tak należy robić:).

Pewnie każdy ma skłonności do takiego postępowania, nie tylko w dziedzinie programowania.

A tu trochę linków do samego tematu. To jest chyba pierwsze ujęcia tego tematu, a tu jest wpis po polsku, zawiera także odnośnik do tłumaczenie pierwszego linku.

Kategorie:Inne Tagi:

Samolubny kod

04/03/2011 Dodaj komentarz

Samolubny kod czy klasa. Początek tutaj, a reszta jest luźnym komentarzem do tego.

Jest to ciekawe przedstawienie życia kodu w ujęciu teorii próbującej objaśnić szerzenie się idei (jak w skrócie można potraktować to co się kryje za słowem mem).
Sama teoria (jak dla mnie) wydaję się dość abstrakcyjna, jednak próba pokazania jej przez pryzmat tworzenia kodu daje fajne przemyślenia. Można spróbować wyciągnąć jakieś wnioski, zastanowić się dlaczego niektóre, wydawałoby się, wartościowe kawałki kodu nie cieszą się uznaniem. Podczas gdy inne, pośredniej jakości, są aż nadto rozpowszechnione. „Kawałek kodu” nie jest tu tylko dosłownie paroma linijkami kodu, ale może być to także biblioteka, aplikacja czy sposób pisania go.

Tak ujęty temat, może być pomocny w naszym codziennym kodowaniu. Poprzez szukanie odpowiedzi na pytania typu: Jak sprawić aby niektóre rozwiązania łatwiej infekowały nieświadomych tego programistów ;-), podczas gdy inne były wypierane?. Albo co trzeba zrobić aby biblioteka, którą tworzymy, trafiła pod „strzechy” (lub odwracając: którą bibliotekę wybrać do nauki, aby nie zmarnować zainwestowanego w nią czasu).

Może powiedzieć, że są to rady powtarzane gdzie indziej. Jednak pozwala to jeszcze raz spojrzeć na nie, w trochę inny sposób, i tym samym łatwiej jej zapamiętać (pozwolić się szerzyć nim :D). Na koniec przewrotne stwierdzenie. Każdy pewnie chciałby żeby jego kod miał szanse przeżyć, rozmnożyć się i stać się tak popularny jak „kopiuj-wklej”. A zapewne jest o wiele więcej naszego kodu, któremu nie chcielibyśmy dać takiej możliwości :D.

Kategorie:Inne Tagi:

Przedwczesna optymalizacja

26/10/2010 Dodaj komentarz

Pojęcie przedwczesnej optymalizacji … zastanowienie się nad tym ;).

Uderzyło mnie to przy próbie pisania w pl/sql. Poczułem się w tym na tyle swobodnie, że zacząłem tworzyć już z myślą o wydajności, wtedy kiedy jeszcze głównych założeń algorytmu nie miałem do końca uchwyconych. I straciłem pół dnia na roztrząsanie technicznych szczegółów (i to jeszcze na siłę próbowałem zrobić to sam, gdy mogłem zapytać o pomoc).
Zbyt szybko chciałem iść na skróty, kiedy musiałem poruszać się po omacku.
Lepiej jest więc napisać coś co już na starcie nie musi być optymalne, aby mieć przynajmniej pewność, że działa. Najpierw niech działa (zostanie zrozumiałe), potem może być udoskonalanie.

To znaczy: podążanie za przeczuciem do idealnego rozwiązania jest dobre kiedy umiesz się poruszać sprawnie w danym środowisku. W innym wypadku lepiej jest uważać na każdy krok (nie pomijać go). I liczy się z tym, że w pierwszej kolejności stwierdzenie „działa”, jest głównym wyznacznikiem tego że zmierzamy do celu.
Czytaj dalej…

Kategorie:Inne Tagi: ,

Link – software craftsmanship

05/10/2010 Dodaj komentarz

Link na który trafiłem podczas przerwy (obijania się) w pracy.
Jest to o coraz bardziej modnym słowie „software craftsmanship”.

Mam opory do wygłaszania tu jakichś ostrych opinii, nie wiem czy w ogóle jest potrzeba.
Zostawiam ślad w postaci tego linku i paru szybkich wrażeń, może ciekawie będzie spojrzeć na to za jakiś czas.

W wywiadzie podobało mi się to: Jeśli w danym momencie nie wyrabiasz się, nie masz czasu, czy zdolności, aby pracować w taki sposób jaki byś chciał (na poziomie jaki byś chciał), to OK!. Świat się nie wali. Rejestrujesz ten fakt i w przyszłości, kiedy czas pozwoli starasz się spróbować znaleźć sposób, aby móc zbliżyć się choć trochę bardziej do tego poziomu.
Jest to wola postarania się, aby znaleźć sposób na zmniejszenie tej przestrzenie jaka jest pomiędzy stanem obecnym, a tym jaki chciałbyś osiągnąć. I nie chodzi o to, żeby następnym razem zrobić coś doskonale. Sukcesem będzie już to, jeśli będzie to choć odrobinę lepiej zrobione niż poprzednim razem.

I na koniec hasło przewodnie: zdobycie umiejętności trwa ;).

Kategorie:Inne Tagi: ,