Niespodzianka

Zaliczyłem dłuższą nieobecność na blogu przerywaną jedynie odsyłaniem do spamu niektórych komentarzy. Jednak przyszedł czas na zrealizowanie jednego z pomysłów, który chodził mi po głowie.

Chciałbym się podzielić dobrymi książkami, które przeczytałem i które polecam.

Na pierwszy ogień – Coś lekkiego. Head First: Software Development. Świetna pozycja odświeżająca to ciężkie podejście do wytwarzania oprogramowania, które każdy w jakimś stopniu wynosi z czasów akademickich:

Head First: Software Development

Przykłady kodu są wprawdzie w Javie, ale i tak wielki pożytek może przynieść nawet jeśli o Javie wiesz, że ma klasy i składnię podobną do C ;)

Sama książka jest nieco sfatygowana, lekko zaokrąglone rogi od wożenia w plecaku i czytaniu w autobusie i jest tam trochę bazgrołów wykonanych ołówkiem. Ale potraktujcie to jako dodatkową zaletę – nieciekawych książek nie wożę ze sobą, a notuję tylko w tych, które naprawdę pobudzają do myślenia.

Na koniec zasady – jeśli chcesz wygrać tę książkę – dodaj proszę komentarz do tego postu (koniecznie podaj prawdziwy mail). Za tydzień (26 maja) wylosuję zwycięzcę, z którym się skontaktuję za pomocą tegoż maila.

Powodzenia!

Znów co nieco o warstwie modelu w architekturze MVC

Wiem, że ciągle nawijam o tym samym, że modele są ważne. Ale to ma sens i znalazłem jego potwierdzenie w książce, którą teraz czytam:

Agile. Programowanie w Rails.

Znalazłem tam ciekawy fragment na temat warstwy modelu, który zacytuję (mi w rączki wpadła angielska wersja, więc tłumaczenie będzie moje):

Model to coś więcej niż tylko dane; wspiera wszystkie reguły biznesowe które odnoszą się do danych.
Na przykład, jesli zniżka nie powinna być stosowana dla zamówień na kwotę mniejszą niż 20 dolarów, model wspiera to ograniczenie.
To jest sensowne; poprzez umieszczenie implementacji tej reguły biznesowej w modelu mamy pewność, że nic innego w naszej aplikacji nie może sprawić, że nasze dane będą nieprawidłowe.
Model spełnia dwie role: pilnowanie bramy i przechowywania danych.

Jaką książkę warto przeczytać, aby poznać Agile?

Z racji mojej magisterki i zainteresowań trochę książek o tej tematyce mam za sobą (na szczęście “za” ;)). Dlatego chętnie podzielę się swoimi doświadczeniami polecając trzy pozycje:

  1. Agile Software Development. Gra zespołowa. Alistair Cockburn
    Agile Software Development. Alistair Cockburn

    Agile Software Development. Dużo teorii i dużo informacji



    Bardzo dobra pozycja, choć dość trudna w odbiorze. Charakteryzuje się dość wysokim poziomem abstrakcji. Ale dzięki niej można zrozumieć dlaczego agile działa, a nawet kiedy nie działa i dlaczego. Autor jest też twórcą rodziny metodyk Crystal i z tej książki dowiesz się o nich co nieco. Jeśli na temat stosowania Agile chcesz poznać wszystkie sekrety i mechanizmy stojące za jego siłą – to pozycja dla Ciebie. Jeśli nie jesteś gotowy na teoretyczną przeprawę – rzuć okiem na pozycje poniżej.

  2. Agile Development. Filozofia programowania zwinnego. James Shore, Shane Warden
    Agile Development. Shore, Warden

    Agile Development. Równowaga między teorią a praktyką stosowania XP


    To nieco lżejsza pozycja, bardziej traktująca o tym jak używać (w tym przypadku XP), a nie jak działa. Z tej książki poznasz dokładnie wszystkie elementy XP, łącznie z tymi najbardziej subtelnymi. Dowiesz się dlaczego programowanie w parach jest równie skuteczne, co dziwaczne (na pierwszy rzut oka). Jeśli jesteś szefem programistów – zrozumiesz dokładniej co programiści robią podczas pracy. Dowiesz się, że jeśli nie klepią w klawiaturę, to jeszcze nie oznacza, że nie pracują. Pozycja obowiązkowa dla tych, którzy chcą z powodzeniem stosować XP. Dla osiągnięcia mistrzostwa prawdopodobnie po pół roku używania XP warto by do niej wrócić.
  3. Head First Software development. Dan Pilone, Russ Miles
    Head First Software Development. Pilone, Miles

    Head First Software Development. Zestaw praktyk w lekkiej i przystępnej formie


    Najlżejsza pozycja w zestawienia, jednak również wartościowa. Nie przedstawia z sobą żadnej konkretnej metodyki. Choć może raczej nie przedstawia żadnej nazwanej metodyki. Jest to zbiór prostych praktyk, które usprawnią działanie Twojego zespołu. Przykłady zamieszczone są w języku Java, ale pozycja przydatna nawet dla tych co Javy nie znają (jak ja, kiedy zaczynałem tą książkę czytać). Wiele ćwiczeń, pytań i wszystkiego, co sprawi, że nawet jeśli zdiagnozowano u Ciebie ADHD – wciągnie Cię i niewielkim wysiłkiem poznasz podstawy zwinnego wytwarzania oprogramowania.
  4. Miłej lektury.

    Ps. jeśli sam(a) chcesz mi coś polecić – wrzuć to koniecznie do komentarza – nie mogę się doczekać.