Ciao Enrico, ammetto la mia ignoranza. non capisco perchè in python dovrebbe essere un controsenso.
Se ho capito bene il senso (scusate il gioco di parole) del design by contract, l'obiettivo è quello di "dichiarare" in qualche modo all'inizio cosa deve produrre un certo pezzo di codice, quali input sono accettabili per esso, e le condizioni che devono rimanere vere per il chiamante. Come dici tu queste idee di fondo mi sembrano essere buone, nel senso che aiutano a pensare il codice in termini di "service" fornito reciprocamente dai vari componenti, e questo rende il tutto più facilmente testabile. Perchè in python dovrebbe essere un controsenso? Quello che alla fine vorrei utilizzare in modo pratico e concreto è delle modalità meglio se codificate e già in uso, che mi aiutino a pensare in anticipo a modi "intelligenti" di scrivere il codice. Non potrebbe servire l'approccio Design by Contract? Marco Marco Il 9 dicembre 2014 17:32, enrico franchi <enrico.fran...@gmail.com> ha scritto: > > 2014-12-09 11:42 GMT+00:00 Marco Ippolito <ippolito.ma...@gmail.com>: >> >> Ciao a tutti, >> mi sono letto con estremo interesse 3/4 del libro "The pragmatic >> programmer, from Journeryman to Master", che mi aveva suggerito >> Enrico, che ringrazio ancora. >> >> Tra i tanti spunti interessanti, mi sembra di capire che un approccio >> che aiuta alla modularità, alla semplificazione ed alla felicità di >> testing è il Design By Contract. > > > Si, andava molto di moda alla fine degli anni '90. > Nella pratica e' un approccio utilizzato diffusamente e rigorosamente solo > in determinati contesti. > > Non vorrei esagerare dicendo che e' morto, ma in buona salute proprio non > sta. > Tipicamente alcune idee alla base sono buone e sono rimaste nella pratica, > ma a livello molto informale. > > Supporto rigoroso da parte del linguaggio scarseggia... in Python e' quasi > un controsenso (anche perche' va fatto tutto a runtime). > In altri ambienti c'e' piu' o meno, si usa a tratti, intensivamente, > dipende. > > > -- > . > ..: -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