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

De Cacauet Wiki
Salta a la navegació Salta a la cerca
Línia 24: Línia 24:
 
== UF2: Optimització de programari ==
 
== UF2: Optimització de programari ==
 
=== Debug (depuració) ===
 
=== Debug (depuració) ===
BUG = "bitxo"
+
''Bug'' = "bitxo" en anglès. Depurar és el procés d'eliminar els errors del programes o ''bugs''.
  
Definició de
+
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.
* [http://docs.python.org/2/library/pdb.html PDB: Python debugger].
 
* [http://pydev.org/manual_adv_debugger.html Debugger en PyDev].
 
  
El PDB solem utilitzar-ho inserint el ''breakpoint'' en el nostre codi (mode ''hardcoded''):
+
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()
 
  import pdb; pdb.set_trace()
Això 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. Per exemple amb:
+
Per exemple amb:
 
  (Pdb) list
 
  (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".
 
...ens sortirà el codi i marcarà la línia on estem. La comanda "list" també es pot fer de forma curta amb "l".
Línia 44: Línia 48:
 
* l(ist) : llista el codi que s'està executant ara (i marca l'actual posició)
 
* l(ist) : llista el codi que s'està executant ara (i marca l'actual posició)
 
* w(ere) : imprimeix la ''stack trace''
 
* w(ere) : imprimeix la ''stack trace''
 
  
 
=== Control de versions ===
 
=== Control de versions ===

Revisió del 12:15, 4 des 2012

...intro...

UF1: Desenvolupament de programari


UF2: Optimització de programari

Debug (depuració)

Bug = "bitxo" en anglès. Depurar és el procés d'eliminar els errors del programes o bugs.

El 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:

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

Altres


UF3: Introducció al disseny orientat a objectes

UML: Unified Modelling Language

  • UML open source: Umbrello

...