Pytania otagowane jako code-contracts

4
Dlaczego miałbym używać kontraktów kodowych
Niedawno natknąłem się na platformę Microsoft dotyczącą kontraktów kodowych. Przeczytałem trochę dokumentacji i ciągle pytałem: „Dlaczego miałbym kiedykolwiek chcieć to robić, ponieważ nie wykonuje i często nie może przeprowadzić analizy statycznej”. Teraz mam już pewien rodzaj defensywnego stylu programowania, z takimi wyjątkami: if(var == null) { throw new NullArgumentException(); } …

2
Kiedy używać [Pure] na konstruktorze?
Uczę się o kontraktach kodowych w .NET i staram się zrozumieć ideę czystych konstruktorów. Dokumentacja kontraktów kodowych stanowi: Wszystkie metody wywoływane w ramach umowy muszą być czyste; oznacza to, że nie mogą aktualizować żadnego istniejącego stanu. Metoda czysta może modyfikować obiekty utworzone po wejściu do metody czystej. A PureAttributedokumentacja stwierdza: …

6
Programowanie kontraktowe a test jednostkowy
Jestem nieco defensywnym programistą i wielkim fanem kontraktów Microsofts Code. Teraz nie zawsze mogę używać C # iw większości języków jedynym narzędziem, jakie mam, jest twierdzenie. Więc zwykle kończę na takim kodzie: class { function() { checkInvariants(); assert(/* requirement */); try { /* implementation */ } catch(...) { assert(/* exceptional …

2
kod umów / stwierdzeń: co ze zduplikowanymi czekami?
Jestem wielkim fanem pisania stwierdzeń, umów lub wszelkiego rodzaju czeków dostępnych w języku, którego używam. Jedną z rzeczy, która mnie trochę niepokoi, jest to, że nie jestem pewien, jaka jest powszechna praktyka postępowania z duplikatami kontroli. Przykładowa sytuacja: najpierw piszę następującą funkcję void DoSomething( object obj ) { Contract.Requires<ArgumentNullException>( obj …

4
Obsługa zmian w architekturze mikrousług opartej na zdarzeniach
Robię projekt badawczy, w którym badam opcje obsługi zmian w architekturze mikrousług opartej na zdarzeniach. Powiedzmy, że mamy aplikację, w której mamy cztery różne usługi. Każda z tych usług ma własną bazę danych do przechowywania danych lokalnych. W tej konfiguracji cztery usługi komunikują się ze sobą za pomocą magistrali zdarzeń. …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.