• Programmazione Android
  • CORSI ONLINE
  • Web Agency

Logo

Corsi di programmazione web e mobile online
Navigation
  • Home
  • CORSI ONLINE
  • Tutorial Pratici
  • GUIDE COMPLETE
    • Corso completo di C
    • Corso videogame con Cocos2d
    • Programmazione Cocoa Touch
  • Sezioni
    • Libri e manuali
    • Tips & Tricks
    • Risorse utili
    • Strumenti di Sviluppo
    • Materiale OpenSource
    • Framework
    • Guide Teoriche
    • Guide varie
    • Grafica e Design
    • iPad
    • News
    • Video Tutorial
    • Windows Phone
  • Pubblicità
  • About
    • Chi siamo
    • Pubblicazioni
    • Collabora
    • Sostieni devAPP

Test-Driven iOS Development: breve recensione del primo libro specifico sul TDD in iOS

By IgnazioC | on 25 Luglio 2012 | 4 Comments
Libri e manuali

test-driven-ios-development-cover Oggi vorrei spendere due righe per raccontarvi un libro, nello specifico il primo testo sul TDD e iOS: Test-Driven iOS Development di Graham Lee. Come avrete intuito, TDD è l’acronimo di Test Driven Development ed è un processo di sviluppo software molto in voga negli ultimi anni. Ne abbiamo già parlato su questo sito, quindi se non conoscete l’argomento vi invito a leggere questo articolo. Passando al libro, credo non sia facile dare un giudizio oggettivo al testo, senza che questo sia influenzato dalla mia idea riguardo il TDD in generale, ma partiamo dall’inizio.

Il libro è molto chiaro nella sua esposizione e tratta un caso d’uso specifico: in particolare saremo guidati nella realizzazione di un’applicazione master/detail che, sfruttando le API di stackoverflow, mostri l’elenco delle domande e relative risposte per un tag selezionato.

Il tutto avviene però con un approccio completamente nuovo rispetto alla “vecchia” maniera di scrivere software, segue infatti l’approccio TDD.

Cosa significa seguire l’approccio Test-Driven Development?

Che si scrivono prima i test e solo successivamente si scrive il codice appena sufficiente per superarli.

Si, avete letto bene.. ho scritto proprio “appena sufficiente”! Già perché è proprio questo che sta alla base del TDD: il codice che supera il test deve *solo* superare il test e non deve far altro, perché altrimenti l’ *altro* non sarebbe coperto da test! Semplice, no?

Non mancano nel libro un’introduzione ai framework principali per usare al meglio TDD e due capitoli finali in cui si va oltre il TDD stesso.

Il mio personale giudizio è che se siete interessati all’argomento è un libro molto utile da leggere, in alcuni casi ritengo personalmente che calchi troppo la mano, ricorrendo addirittura al MethodSwizzling (http://cocoadev.com/wiki/MethodSwizzling) per rendere testabile una classe o creandone delle subclass con metodi specifici per l’introspezione, devo ammettere però che alla fine si ritrova con un codice sul quale si può intervenire tranquillamente a fare refactoring o aggiungere funzionalità senza aver paura di “rompere” qualcosa che era già stato fatto.

Potete acquistare il testo direttamente su Amazon.it in una delle due versioni disponibili:

  • versione cartacea, al costo di 20,03 € con spedizione gratuita (Link diretto)
  • versione elettronica kindle edition, al costo di 14,38 € (Link diretto)

Buona lettura!

Share this story:
  • tweet

Tags: manuali programmazionetddtest-driven developmenttest-driven ios development

Recent Posts

  • Parte il percorso programmatori iOS in Swift su devACADEMY.it

    20 Dicembre 2017 - 0 Comment
  • Android, crittografare dati velocemente con Encryption

    24 Settembre 2018 - 0 Comment
  • Sql2o, accesso immediato ai database tramite Java

    3 Settembre 2018 - 0 Comment
  • Okio, libreria per ottimizzare l’input/output in Java

    27 Agosto 2018 - 0 Comment

Related Posts

  • 97 cose che ogni buon programmatore (e non solo) dovrebbe conoscere

    22 Dicembre 2011 - 2 Comments

Author Description

4 Responses to “Test-Driven iOS Development: breve recensione del primo libro specifico sul TDD in iOS”

  1. 25 Luglio 2012

    Giuseppe Frattura

    Ciao ottimo consiglio, il TDD è un tipo di sviluppo molto utile soprattutto se fatto anche con l’extreme programming.
    Conoscete per caso un testo analogo per android?

  2. 25 Luglio 2012

    Luca

    Non ho ancora avuto il piacere di leggere il libro che, però, è già nella mia libreria.

    Per quanto riguarda il method swizzling comprendo le perplessità. Anche io non sono un grandissimo fan di questa “pratica” e sono convinto che crei più problemi di quanti ne risolva e che è potenzialmente una soluzione poco future proof, ma nel caso di unti test a volte si rivela pratica. Mi spiego con un esempio pratico: supponiamo di testare un metodo di una classe che, sempre per esempio, utilizzi il metodo + [NSDate date] per effettuare una qualsivoglia computazione temporale. Per testare questo metodo in qualche modo abbiamo bisogno di mockare NSDate, un metodo molto pratico è quello con una combinazione di method swizzling e associative references far ritornare la data che ci fa più comoda.

    Per quanto riguarda le surclassi per l’introspezione anche in questa cosa sembra una soluzione dolora ma necessaria. Se ci pensiamo lo scopo dell’ OOP e proprio l’information hiding, che fondamentalmente rema contro la testabilità dove vorremmo poter verificare completamente lo stato della class under test.

  3. 25 Luglio 2012

    Ignazioc

    hai centrato in pieno! ottimo commento!

  4. 23 Novembre 2012

    Test-Driven iOS Development: breve recensione del primo libro specifico sul TDD in iOS | TCNews24.it

    […] il resto dell’articolo cliccando qui Libri e manuali, manuali programmazione, tdd, test-driven development, test-driven ios development […]

Leave a Reply

Your email address will not be published. Required fields are marked *


*
*

Corso online di programmazione android e java

SEZIONI

  • Android
  • Comunicazioni
  • Contest
  • Corsi ed Eventi
  • Corso completo di C
  • Corso programmazione videogiochi
  • Framework
  • Grafica e Design
  • Guida rapida alla programmazione Cocoa Touch
  • Guide Teoriche
  • Guide varie
  • iPad
  • Le nostre applicazioni
  • Libri e manuali
  • Materiale OpenSource
  • News
  • Pillole di C++
  • Progetti completi
  • Risorse utili
  • Strumenti di Sviluppo
  • Swift
  • Tips & Tricks
  • Tutorial Pratici
  • Video Tutorial
  • Windows Phone

Siti Amici

  • Adrirobot
  • Allmobileworld
  • Apple Notizie
  • Apple Tribù
  • Avvocato360
  • Blog informatico 360°
  • bubi devs
  • fotogriPhone
  • GiovaTech
  • iApp-Mac
  • iOS Developer Program
  • iPodMania
  • MelaRumors
  • Meritocracy
  • SoloTablet
  • TecnoUser
  • Privacy & Cookie Policy
©2009-2018 devAPP - All Rights Reserved | Contattaci
devAPP.it è un progetto di DEVAPP S.R.L. - Web & Mobile Agency di Torino
Str. Volpiano, 54 - 10040 Leini (TO) - C.F. e P.IVA 11263180017 - REA TO1199665 - Cap. Soc. € 10.000,00 i.v.

devACADEMY.it

Vuoi imparare a programmare?

Iscriviti e accedi a TUTTI i corsi con un’unica iscrizione.
Oltre 70 corsi e migliaia di videolezioni online e in italiano a tua disposizione.

ISCRIVITI SUBITO