Archive for the ‘Best Practices’ Category
Pretotyping
Fake it before make it
Tak, Pretotyping! To nie literówka! Pretotyping określa coś (fazę?) „przed” prototypowaniem. To znaczy, że zanim cokolwiek stworzymy, zbudujemy, to powinniśmy przetestować koncepcję by sprawdzić i zastanowić się, czy jest słuszna, atrakcyjna i właściwa. Jest to szczególnie ważne w projektach innowacyjnych.
Read the rest of this entry »
Zastąp ify przez polimorfizm
Niecały rok temu pisałem o prezentacji Tomasza Nurkiewicza pt. Uwolnić się od ifów.
Istotnie, wiele instrukcji warunkowych w kodzie utrudnia jego zrozumienie, testowanie i utrzymanie. Często w takiej sytuacji łamany jest Single Responsibility Principle.
Read the rest of this entry »
ThoughtWorks: Technology Radar January 2015
ThoughtWorks udostępnił właśnie Technology Radar na styczeń 2015.
Quick Sort na wesoło
Quick Sort to szybki algorytm sortowania wynaleziony przez Sir C.A.R. Hoare’a. Opiera się na technice „dziel i zwyciężaj„; jest stosunkowo prosty do wytłumaczenia oraz implementacji. Jego średnia złożoność obliczeniowa jest rzędu O(n log n).
Read the rest of this entry »
Technology Radar od ThoughtWorks
ThoughtWorks Technology Advisory Board (m.in. Martin Fowler, Neal Ford) przygotowali nowy Technology Radar.
Read the rest of this entry »
Cloud Design Patterns
Kilka miesięcy temu, Microsoft udostępnił wersję elektroniczną książki Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications.
Read the rest of this entry »
Java Garbage Collector – Sławomir Ginter
Na 54 spotkaniu trójmiejskiego JUGa Sławomir Ginter (Spartez) opowiedział o mechanizmie Garbage Collectora w Javie.
Rethinking Singleton Design Pattern
Kiedy pytam programistów, jakie znają wzorce projektowe, bardzo często (na początku) wymieniają wzorzec Singleton. Ciekawe, dlaczego tak się dzieje? Czy naprawdę używają go tak często? Czy może jest on jednym z najprostszych do implementacji wzorców?
Nazwa Singleton wywodzi się z matematyki, dokładnie z teorii mnogości. Singleton to inaczej zbiór jednoelementowy, czyli zbiór, do którego należy jeden i tylko jeden element.
Read the rest of this entry »
Krótka historia czasu – Tomasz Nurkiewicz
Tomasz Nurkiewicz, niczym Stephen Hawking, opowiada o pułapkach związanych z datami i czasem w Javie (oraz ogólnie w informatyce). Byłem, widziałem – najlepsza prezentacja na tegorocznej Confiturze!
Od autora:
Jaka jest różnica czasu między Warszawą a Sydney? Odpowiedź na to pytanie jest zaskakująco trudna. Równie zaskakującym jest jak wielu programistów tej trudności nie dostrzega. Niby po co? Bo niemal co roku na światło dziennie wypływają zawstydzające błędy w oprogramowaniu, wynikające z niewiedzy bądź lekkomyślnego traktowania… czasu w systemach komputerowych.
Podczas tej prezentacji spróbuję pokazać, jak ważne jest świadome operowanie czasem podczas pisania oprogramowania. Nie będziemy (prawie) narzekali na klasę java.util.Date
, ale skupimy się na fundamentalnych nieporozumieniach i błędach. Zobaczymy w przykładach fatalne skutki beztroskiego i nieumiejętnego obchodzenia się z czasem.
Nauczymy się także jak przechowywać, przesyłać i przetwarzać czas oraz jak testować systemy zależne od czasu (czyli w zasadzie wszystkie). Nie spodziewajcie się eksploracji takiego czy innego API. Skupimy się raczej na zrozumieniu praw rządzących upływem czasu i ich odpowiednim modelowaniem w naszych programach.
Read the rest of this entry »
Working Effectively with Legacy Code – warsztaty z Michaelem Feathersem
Working Effectively with Legacy Code to jedna z polecanych przeze mnie książek (patrz zakładka Must Read).
Pracę z odziedziczonym kodem przedstawiają poniższe Dilberty 🙂
Read the rest of this entry »