Ciao Enrico per i punti 2b e 6 hai qualche materiale da suggerirmi x approfondire le best practices in python? Marco Il giorno 29/dic/2014 21:40, "enrico franchi" <enrico.fran...@gmail.com> ha scritto:
> > > 2014-12-29 19:00 GMT+00:00 Carlos Catucci <carlos.catu...@gmail.com>: >> >> >> 2014-12-29 19:45 GMT+01:00 enrico franchi <enrico.fran...@gmail.com>: >> >>> Mi sembra sia uno use case un po' diverso dal "principiante totale che >>> non sa programmare" di cui si parlava. >>> Penso si possa dare per assodato che Davide conoscesse sia la >>> programmazione in generale che, probabilmente, almeno un po' di OOP (se non >>> di piu'). Mi aspetto che fosse gia' familiare anche con questioni di >>> eccezioni e gestione dell'errore, e di design di API. Probabilmente aveva >>> anche esperienza con un framework web, certamente con i database. Senza >>> dubbio con vari elementi della programmazione web (http che fa, come si >>> usano gli status di ritorno...). Sperabilmente anche TDD o per lo meno come >>> si scrivono i test dovevano essere assodati. Mi sembra insomma che sia >>> difficilmente comparabile. >>> >> >> Io intendevo dire che una persona skillata con Python in pochissimo tempo >> e' autonoma, lo stesso non si puo' dire di Java (e di altri linguaggi) >> > > Scusa non capisco... eravamo partiti dal principiante assoluto che non sa > programmare che in 10 giorni metteva in produzione un sito, di questo > stiamo parlando. O no? > > >> >> >>> Mi piacerebbe davvero vederlo. Ma vorrei anche vedere il codice. Perche' >>> il fatto che si tiri su un orrore immantenibile in 10 giorni, a me sembra >>> relativamente poco interessante. >>> >> >> No codice mantenibile. Io sono fanatico su questa cosa. Se il codice non >> e' chiaro e mantenibile per me non e' codice. >> > > Visto quello che escludi piu' sotto dalla definizione di codice > mantenibile, credo che abbiamo definizioni diverse di mantenibile. Per > esempio, per me, codice mantenibile senza test e' un ossimoro. Tanto per > dirne una. > > >> Solo a spiegare come funziona il web ci va parecchio tempo. Non parliamo >>> poi di questioni sulla gestione dell'errore, programmazione ad oggetti e >>> gestione dell'errore. >>> >> >> Io ho detto che faccio programmare una persona che non conosce il >> linguaggio ed il frameqwork, con un monitoraggio. Poi ovvio che se trovo >> quello negato non ho chance. Ma una persona di medie capacita' puo' >> imparare a scrivere codice. Ovviamente non sto parlando di riscrivere >> facebook, ma un sito decente, ad esempio per gestire un magazzino, con >> sottoscorta e quant'altro, si. >> > > E io su questo sono completamente in disaccordo. > > >> >> >>> Secondo me quello che intendi con "formato" o "in grado" e' un po' >>> diverso da quello che intendo io. >>> >> >> Forse tu intendi uno sviluppatore esperto. L'esperienza non la si >> trasmette per endovena, per cui prima che possa essere autonomo del tutto >> servono tempi piu' lunghi, ma io parlo delal capacita' di scrivere codice >> mantenibile e funzionante. >> Deploy, testing avanzato, e tutto il resto non rientrano in questo. >> Quello che voglio dire e' che in Python posso far programmare decentemente >> una persona in pochi giorni, con altri linguaggi mi serve minimo un mese >> per avere risultati simili. >> > > Ecco... nel 2014 fatico a considerare codice senza test come "mantenibile" > o come "decente". Ma poi voglio dire, in 10 giorni gli spieghi: > > 1. python di base (funzioni, cicli, if, compagnia) > 2. oggetti e programmazione ad oggetti (sembra difficile ragionare con > Django senza ragionare con gli oggetti) > 2b. come organizzare le dipendenze in modo sensato, moduli e oggetti, > interfacce fra gli stessi (non in senso Java, in senso di come si parlano) > 3. Django > 4. HTTP (voglio dire, dovra' ben sapere quando una chiamata ti torna un > 200, un 404, un 401, un 403, gli altri 4xx e i 3xx) > 5. HTML/Templating, verosimilmente con CSS e quel minimo di Javascript che > tende a saltare fuori ovunque > 5b. Forms e compagnia > 6. Come si gestiscono e come non si gestiscono gli errori, quando usare > None, quando tirare un'eccezione, quando fare altro. Come gestire le > eccezioni, quando rilanciarle, quando gestirle, quando fare cosa > 7. Testing (che non vorremo mica sviluppare senza test, spero) > 8. Grosso modo come funziona uno stack web > 9. Quel poco di SQL (o meglio, di db relazionali) che ti serve per capire > come accidenti Django salva e legge dati, fra le altre varie cose per non > inchiodare tutto appena la gente comincia ad usare il servizio > 10. Quel poco di dbms che ti serve > 11. Come funzionano le fixtures e come si scrivono i test che > interagiscono con il db > 12. cosa loggare e cosa non loggare, quando, come leggere e capire un log > > > > > > -- > . > ..: -enrico- > > _______________________________________________ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python > >
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python