Costruire software SOLID(O)

Una delle sfide più importanti nello sviluppo di applicazioni software critiche per le aziende è la progettazione di valide architetture che siano in grado di assicurare requisiti non funzionali quali l’estensibilità, la manutenibilità, la testabilità e la leggibilità del codice nel tempo.

Quando i clienti ci chiedono infatti di modificare o riscrivere le loro applicazioni, ciò avviene spesso perchè si ritrovano con una base di codice sviluppata male che ha costi e tempi di manutenzione troppo elevati per via delle (mancate) scelte progettuali; in questi casi riscrivere o effettuare il refactoring dell’applicazione con adeguati principi architetturali diventa una scelta da valutare molto seriamente dopo un accurato audit.

Continua a leggere

Catalogo Magento – Concetti Base

Ora che avete installato con successo la versione desiderata di Magento Community, possiamo tranquillamente iniziare a scoprire la più importante delle funzionalità che ci offre questo potente strumento di e-commerce, il Catalogo.

L’organizzazione del catalogo è alla base di un sistema che prevede stabilità, gestione semplice delle categorie e dei prodotti, ma soprattutto velocità di navigazione sul frontend.

Quest’ultima è la peculiarità base di ogni e-commerce che si rispetti, quindi l’importanza di mantenere il sistema Magento il più pulito possibile ci dà la possibilità di consultare il forum di Magento in caso di problemi, ma soprattutto siamo liberi di condividere il problema con un ampio numero di utenti, pronti a darci supporto. Chiaramente, più il nostro sistema è vicino a quello standard, meno difficoltà avremo nel condividere tale problema con la community di Magento.

Continua a leggere

Qualche consiglio di progettazione per la vostra prima app – Parte 2/2

“Splash screen? No, grazie”
Le animazioni che vengono caricate all’apertura delle apps non sono quasi mai utili. Anzi, ritengo siano fastidiose per l’utente, anche inconsciamente.
Dopotutto sono secondi preziosi di attesa ai quali si obbliga a sottostare passivamente, senza che l’utente ne ricavi alcuna utilità immediata. Ricordatevi che il suo tempo è prezioso. E se proprio non potete evitarle, riducetene durata e pesantezza all’osso, curandone con estrema cura i dettagli grafici e di animazione: se proprio volete stupire l’utente con effetti speciali, almeno siate sicuri che siano all’altezza delle sue aspettative.

Continua a leggere

L’importanza del collective ownership in un team agile

Programmare in XP è come lo sviluppo con poche pratiche e concetti in più, per esempio i test automatizzati. Comunque come tutto il resto lo sviluppo con XP, a differenza di come può sembrare, è semplice. Ogni concetto di esso è abbastanza semplice a dirsi, tuttavia è metterlo in pratica che diventa più difficile; oltretutto, sotto pressione le “vecchie” tecniche riaffiorano.

Tra alcuni dei concetti come il continuous integration, che riduce i conflitti e pone fine a incidenti e come il pair programming che ha una forza unificatrice nello sviluppo, troviamo il concetto di collective ownership che incoraggia tutto il team a rendere migliore l’intero sistema.

Continua a leggere

Qualche consiglio di progettazione per la vostra prima app – Parte 1/2

Alzi la mano chi di voi non ha pensato, almeno una volta, di avere in tasca l’idea per l’app del secolo.

Improvvisamente, un giorno, un’idea geniale vi è balenata in testa e vi ha convinto che possa essere strepitosamente attraente per il grande pubblico.
Benissimo! E’ arrivato il momento di fermarsi un attimo. Occorre procedere un passo alla volta, definendo il progetto più approfonditamente in ogni sua sfumatura.

Il time-to-market non si può ignorare, quindi teniamo sempre bene in evidenza le linee guida della nostra nuova “creatura”, almeno una volta al giorno, cercando di non discostarcene mai.

Continua a leggere