Diferència entre revisions de la pàgina «Entorns de desenvolupament»

De Cacauet Wiki
Salta a la navegació Salta a la cerca
Línia 23: Línia 23:
  
 
== UF2: Optimització de programari ==
 
== UF2: Optimització de programari ==
=== Debug (depuració) ===
+
[[Python: depuració]] (a cacauet).
''Bug'' = "bitxo" en anglès. Depurar és el procés d'eliminar els errors del programes o ''bugs''.
 
 
 
El [http://ca.wikipedia.org/wiki/Depurador depurador o ''debugger''] és l'eina que utilitzem per córrer (run) el programa en un entorn controlat, permetent examinar el comportament del programa pas a pas i consultar les variables internes en qualsevol moment.
 
 
 
Per Python utilitzarem:
 
* [http://docs.python.org/2/library/pdb.html PDB: Python debugger], funciona directament per la consola.
 
* [http://pydev.org/manual_adv_debugger.html Debugger en PyDev]: amb interfície gràfica, facilita certes funcions.
 
 
 
El principal procediment és inserir '''''breakpoints''''' en el nostre codi. El ''breakpoint'' aturarà l'execució del programa i ens farà entrar en mode interactiu per la consola. Podem consultar informació diversa del nostre programa com les variables, el ''stack trace'' o la línia de codi on estem.
 
 
 
El '''PDB''' solem utilitzar-ho inserint els ''breakpoints'' en el nostre codi en mode ''hardcoded'':
 
import pdb; pdb.set_trace()
 
Per exemple amb:
 
(Pdb) list
 
...ens sortirà el codi i marcarà la línia on estem. La comanda "list" també es pot fer de forma curta amb "l".
 
 
 
Les comandes bàsiques de d'execució son:
 
* h(elp) : ajuda (també es pot fer en concret per una comanda del debugger)
 
* s(tep) : avancem una instrucció, entrant a les funcions que es cridin.
 
* n(ext) : avancem una instrucció, sense entrar a les funcions.
 
* c , cont o continue : avancem fins els següent breakpoint
 
* r(eturn) : avancem fins que la funció acaba (return).
 
* l(ist) : llista el codi que s'està executant ara (i marca l'actual posició)
 
* w(ere) : imprimeix la ''stack trace''
 
  
 
=== Control de versions ===
 
=== Control de versions ===

Revisió del 12:27, 4 des 2012

...intro...

UF1: Desenvolupament de programari


UF2: Optimització de programari

Python: depuració (a cacauet).

Control de versions

Altres


UF3: Introducció al disseny orientat a objectes

UML: Unified Modelling Language

  • UML open source: Umbrello

...