Concetti, tecniche e strategie per lo sviluppo software

TDD, come creare i tests

Scrittura dei tests e buone norme

Quando si creano i test per lo sviluppo di un applicativo seguendo la strategia del Test Driven Development o sviluppo guidato dai test, è fondamentale seguire delle strategie per la buona scrittura. Setting Up e Tearing Down E’ possibile eseguire del codice prima e dopo ciascun test con @Before e @After.

E’ possibile eseguire

Tags:, , ,

Ionic, database Sqlite

Come utilizzare un database Sqlite con Ionic

Ionic è uno dei più famosi framework per la scrittura di applicazioni mobile ibride. Sfruttando HTML, CSS e Javascript è possibile sviluppare un’applicazione che potrà essere distribuita su diversi sistemi operativi come Android, iOS e Windows Phone. Vediamo come utilizzare su Ionic un database SQLite. Se da un lato lo sviluppo di un’applicazione è più

Tags:, , ,

TDD, sviluppo guidato dai tests

Introduzione

Il Test Driven Development (TTD) o sviluppo guidato dai test è una metodologia per lo sviluppo software. Un prodotto software può essere testato con diverse modalità per verificare che produca il risultato voluto prendendo in considerazione piccole unità di codice che vengono testate per verificarne la logica. Il TDD prevede la scrittura dei tests e successivamente

Tags:,

Code Efficiency, la memoria

Memory Efficiency

La memoria è limitata e per questa ragione va usata in modo consapevole perché influenza i tempi di risposta, le performance e l’affidabilità di un prodotto. La memoria fisica (RAM) è suddivisa tra le applicazioni e ovviamente il sistema operativo. E’ importante che ogni applicazione rilasci le parti di memoria non utilizzate in modo che

Tags:,

Refactoring di alto livello

Le tecniche di refactoring a livello generale

  Il refactoring di alto livello include una serie di tecniche utili a migliorare il codice dando uno sguardo generale alle classi e ai metodi.   Extract Superclass Refactoring Quando due o più classi hanno alcune similarità tra loro (attributi e metodi) conviene estrarre una superclasse astratta. Esempio: In questo esempio il dipartimento e l’impiegato

Tags:, , , , ,

Refactoring dei dati

Una serie di strategie per gli attributi e i metodi

I metodi Il refactoring dei dati prevede una serie di tecniche e buone norme utili a migliorare la leggibilità e la struttura del codice focalizzando l’attenzione sui metodi e sugli attributi delle classi. Move Field Refactoring Il metodo prevede di spostare un attributo che viene utilizzato più da una classe rispetto ad un’altra. E’ importante

Tags:, , , , , , , , , , , , , , ,

Refactoring di classi e condizioni

I metodi per rifattorizzare classi e condizioni

Classi Per il refactoring delle classi le tecniche più utilizzate sono: Move Method Consiste nello spostare un metodo da una classe ad un’altra. Si può utilizzare questa strategia quando: il metodo utilizza di più le risorse di un altro oggetto rispetto a quello in cui è dichiarato (Feature Envy); una classe utilizza i campi e

Tags:, , , , , , ,

Refactoring dei metodi

Refactoring dei metodi, come estrarre parti di codice e rimuovere o aggiungere variabili temporanee

Esistono strategie che possono essere applicate in diverse situazioni per il refactoring dei metodi. Queste tecniche forniscono anche utili linee guida per la scrittura di codice.   Extract Method Il metodo consiste nell’estrarre da una funzione parti di codice che hanno un ruolo specifico e creare altre funzioni che potranno poi essere eventualmente riutilizzate in

Tags:, , , , , , ,

Refactoring, a cosa serve

Introduzione

Il refactoring è termine generico che indica una serie di tecniche utili a migliorare del codice già scritto e funzionante. Non è equiparabile al debugging ovvero non serve a trovare bug ed errori all’interno del software ma al contrario l’obiettivo è quello di rendere il codice più leggibile e pulito. Inoltre il refactoring, in generale,

Tags:

Web Services, Sicurezza

Rendere sicuro un web service

Le richieste e risposte HTTP sono fatte attraverso testo semplice e ciò significa che è possibile ad esempio attraverso un proxy, vedere quale traffico passa attraverso client e server. Quando si trasmettono dati sensibili come email e password servono quindi dei metodi utili a crittografare queste informazioni mettendo il web service in sicurezza.   SSL/TLS

Tags:, , , , , ,