Design by contract

I’ve found this great package today, which allows you to set some constraints on your function parameters.

Long story short, you can use the contracts like this:

@contract(a='int,>0', b='list[N],N>0', returns='list[N]')
def my_function(a, b):

or like this:

def my_function(a : 'int,>0', b : 'list[N],N>0') -> 'list[N]':
     # Requires b to be a nonempty list, and the return
     # value to have the same length.

I’m loving this!


Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:


Komentujesz korzystając z konta Wyloguj /  Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj /  Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj /  Zmień )

Połączenie z %s

%d blogerów lubi to: