Salut

Le 10 avril 2014 17:42, T. Idriss TINTO <[email protected]> a écrit :

>
>
> Bonjour et merci à tous,
>
mais je me dis qu'il serait utile de trouver une façon de mieux documenter.
> Pas seulement pour moi codeur, mais aussi pour ceux qui toucheront au code
> après. Il m'arrive de penser que si ça été difficile à écrire ça doit être
> difficile à comprendre, mais il y a des fois où il faut que ce soit facile
> à comprendre.
>
>

Oui, mais c'est un peut différent de la première question qui était
comment
faire de l'abstraction ,celle ci c'est plutôt comment organiser le projet
pour que les autres comprennent ton code, Même si Tu es le  Guido Van
Russum personne le le comprendra si Tu n’écris pas les tests .
Dans un projet sérieux , personne n’intègre un code sans test  :)


Regarde si je fais ca

###  Trounoir.py

"""
Un dictionnaire Trou noir qui avale tout ce que Tu lui donne et
a chaque fois que Tu lui demande , il raise KeyError comme si*
Tu ne lui avait rien donné
"""
class TrouNoir(dict):
  def __init__(self, kw):
    dict.__init__(kw)

  def __get__(self, key):
    raise KeyError

###

J'ai écris une classe et je l'ai bien documenté en disant ce qu'il fait ,
mais si je le commit comme ça ,ce n'est pas bon ,Mon collègue X
ne pourra pas comprendre :)

Par contre si en plus j'ajoute une classe de Test

###  trounoir_test

import trounoir
import unittest
class TestTrouNoir(unittest.TestCase):
  def setUp(self):
      self.trou = trounoir.TrouNoir({"alioune":"dia"})

  def test_add_value(self):
      """test add value"""
      self.assertRaises(KeyError, self.trou.__get__, "alioune")

if __name__ =="__main__":
   unittest.main()

###


Et mon collègue X pourra juste aller dans une classe de Test  et lire et
même tester pour savoir si j'ai rien cassé dans le code :)

python trounoir_test.py
.
----------------------------------------------
Ran 1 test in 0.000s

OK


--Ad
--
Ce message a été envoyé à la liste [email protected]
Gestion de votre abonnement : http://dakarlug.org/liste
Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug
Le site du DakarLUG : http://dakarlug.org

Répondre à