Modelli e pratiche di programmazione in Python? [chiuso]

6

Quali sono i migliori schemi e pratiche di programmazione Python che usi ogni giorno?

Non intendo solo schemi di progettazione (ci sono molti schemi di progettazione OO che possono essere usati in python), intendo pure schemi e pratiche di codifica pura come:

  • il modo migliore per organizzare i moduli
  • il modo migliore per l'analisi dei dati (prestazioni saggio)
  • uso di funzioni private (ha senso, perché puoi accedere a funzioni private al di fuori della classe)
  • quali sono i migliori moduli per GUI, database ecc.

Ci sono nuovi libri o altro tipo di letteratura su questo argomento (2010/2011)?

Naturalmente la domanda non può essere risolta in una risposta o in un libro, ho pensato a questa domanda come una discussione su questo argomento perché non c'è molto scritto sui pattern di programmazione python ed è un linguaggio molto potente.

    
posta shake 05.06.2011 - 09:17
fonte

1 risposta

3

Pratiche

Test: unit test, test di integrazione e test funzionali sono il modo in cui devi svolgere il tuo lavoro.

La cosa più sorprendente è che i test unitari sono molto più complessi di altri perché è necessario creare una struttura di codice che permetta di sostituire le dipendenze sul framework con un'implementazione falsa:

Ad esempio puoi controllare questo codice: link

utils.py contiene componenti contraffatti che uso di seguito nel setup per essere sicuro di usare solo la classe che sto testando.

Imballaggio

Sto usando 'egg' per confezionare il mio codice e renderlo facile da usare. Quindi puoi pubblicare il tuo componente aggiuntivo sul link

del sito web

Per creare un egg puoi usare PasteScript: link

Per capire la confezione devi capire questo:

  • distutils è solo il file setup.py per dire quali sono le tue dipendenze e come costruire & installa il pacchetto
  • setuptools aggiunge il comando easy_install con pypi come repository egg predefinito (tipo apt-get). Oggi c'è un fork di setuptools denominato distribute.
  • buildout aggiungi un modo per ottenere più versioni delle stesse uova e costruisce il percorso di sistema all'interno degli "script" inseriti in una cartella bin: link

Prestazioni

Non importa quali prestazioni non vengano mai controllate prima e questo è male. Stiamo lavorando su spettacoli quando ci sono problemi di prestazioni.

Il

link è un ottimo strumento per creare test delle prestazioni.

Python fornisce strumenti per profilare il tuo codice. Ti lascio google.

Privato

Non nascondere mai sth ad altri sviluppatori, inutili e noiosi per loro. 'property' rende la tua variabile pubblica avvolta da accessor & mutator e fa il lavoro che vuoi (mai rotto le cose)

link

database

Sono abituato a link con postgresql. Python incorpora l'associazione sqlite dal 2.5 per creare test

Dovresti anche considerare che il link può essere usato al di fuori del framework Zope ed è uno dei più vecchi database nosql su python.

Libri

Il mio preferito: link

Pacchetti preferiti e amp; Strumenti

risposta data 07.06.2011 - 10:13
fonte