Kontrakty kodu w .NET, czy się z tego korzysta?

0

Hej, jak w temacie. Ciekaw jestem, czy korzysta się z tego w praktyce? Czy nie zaprzątać sobie tym głowy? Mało jest artykułów (PL) na ten temat, zupełnie jakby temat nie był popularny.

1

A o czym mowa?

2

kontrakty kodu (ale to dziwnie brzmi po polsku) sa po prostu walidacja i tak korzysta sie z walidacji,

Wyobraz sobie, ze nie masz dwoch zmiennych tylko 10 roznych zmiennych. Wtedy musisz stworzyc osobny byt do sprawdzania tych pol. I to jest wlasnie walidacja

to czy uzyjesz tam if czy Contract to w sumie bez roznicy, bo Contract jest cukrem skladniowym (jest tam taki sam if statement zapewne jakbys sam napisal)

Ladniej wyglada, ale jeszcze nie widzialem w zadnym projekcie by go ktos uzywal

1

W C# in Depth w drugiej wersji (2010) John Skeet widział w code contracts wielki potencjał, gdzie w wydaniu trzecim (2013) przyznał że code contracts się nie przyjęły i nie zyskały popularności. Osobiście widziałem jeden projekt który z nimi startował, ale kiedy mi przyszło w tym projekcie pracować cc były już wyłączone ;)

1

Sam "cukier składniowy" (w rzeczywistości nie widzę żadnego cukru tutaj, tylko metody biblioteczne) szału nie robi, ale prawdziwą wartość te kontrakty kodu to mają raczej w połączeniu ze statyczną analizą kodu, o ile ta nie daje zbyt dużo fałszywych alarmów oczywiście.

Checked exceptions z Javy też są formą kontraktu, ale jak wiadomo się nie przyjęły :) Z tym, że są bardziej upierdliwe, bo powodują błąd kompilacji, a nie tylko ostrzeżenia od narzędzia statycznej analizy kodu.

1

Raczej się nie korzysta. Kiedyś na meetupie rozmawiałem o tym z Ericiem Lippertem i Johnem Skeetem, i bodaj Eric opowiadał, że tę biblioteczkę zaczął praktykant, działało fajnie, więc wypuścili na świat, ale nikt nie planował poświęcać więcej czasu i umarło.

0

A to nie było tak, że to wymagało jakiejś dość wysokiej wersji Visual Studio do działania, więc nikt poza studentami nie miał szans tego używać?

0

Dokumentacja MS twierdzi, że "You must download and run the Code Contracts .msi file. It installs in any edition of Visual Studio other than the Express edition."

0

Dzięki za wypowiedzi, zostanę przy if :) W C# W pigułce kontraktom kodu jest poświęcony spory kawałek rozdziału Diagnostyka i kontrakty kodu, w sieci ciężko było znaleźć cokolwiek na ten temat, więc zacząłem się zastanawiać, czy w ogóle ktoś z tego korzysta.

1 użytkowników online, w tym zalogowanych: 0, gości: 1