Programmare e' un arte.
Prima di scrivere un programma occorre:
Aver compreso il problema in maniera approfondita
Determinare precisamente un algoritmo che possa portare ad una soluzione efficiente

Mentre si scrive un programma e' necessario:
Conoscere quali sono i mattoni disponibili
Conoscere un Linguaggio di programmazione
Conoscere quali Librerie si potranno utilizzare
Saper applicare buoni principi di programmazione

Efficienza:
determinazione di un algoritmo che consumi poche risorse (in termini di uso di memoria e di tempo di CPU principalmente) e sua codifica efficace e sostenibile (minime risorse utilizzate, senza penalizzare modularita' e leggibilita')

Modularita':
Determinare precisamente l' algoritmo di soluzione
Dividerlo in sotto problemi
Costruire le singole sotto-parti di soluzione in modo che possano essere riusabili in altri contesti
Integrare opportunamente le sotto-parti
Si evita di reinventare la ruota tutte le volte
Si fa affidamento su librerie ampiamente diffuse, quindi testate e affidabili
Moduli scritti per utilizzo da parte di una comunita'

Chiarezza:
E'fondamentale che un programma:
Sia leggibile
Di facile comprensione del codice da parte di chi non lo ha scritto ma vorra' manutenerlo (il codice deve essere autoesplicativo anche buon uso dei commenti)
Chiara strutturazione
Per aumentare la leggibilita' applicare buone regole di naming

Premereinvio Soluzioni Informatiche