Będziesz miał wiele problemów, zwłaszcza piszących kod Java wielowątkowych, jeśli nie można zrozumieć tych prostych pomysłów:
- Warunki wstępne są rzeczy, które muszą być spełnione, zanim metoda jest nazywany. Metoda mówi klientom "to jest to, czego oczekuję od ciebie".
- Warunki końcowe to rzeczy, które muszą być spełnione po zakończeniu metody. Metoda mówi klientom: "to, co obiecuję zrobić dla ciebie".
- Niezmienniki to rzeczy, które zawsze są prawdziwe i nie ulegną zmianie. Metoda mówi klientom "jeśli to prawda, zanim zadzwoniłeś do mnie, obiecuję, że nadal będzie prawdą, kiedy skończę".
Wszystkie są częścią pomysłu o nazwie "programowanie według umowy". Został wymyślony przez faceta o nazwie C.A.R. Hoare. Bertrand Meyer zbudował wokół niego obiektowy język o nazwie Eiffel. Nikt go nie używa, ale z powodu tego miał dzień na słońcu.
Eiffel nie jest zbyt popularny. Podczas pisania tego tekstu jest ponad 4 miliony pytań na temat SO, ale tylko 32 z nich jest oznaczone jako "eiffel".
Aktualizacja: W dniu 29 czerwca 2016 r. Zgłoszono 11 996 392 pytania dotyczące zgłoszenia SO. Tylko 92 z nich zostało oznaczonych jako "eiffel". Odsetek pytań z e-mailem pozostaje w przybliżeniu stały i wynosi ~ 0,00077%.
Stoję poprawiony - dziękuję, flamingpenguin. Zaktualizowałem swoją odpowiedź.
z inklinacją, która pomoże Ci zadać bardziej właściwe pytania na temat SO, zadaj konkretne pytania, coś, co pokazuje własne badania/pracę nad tematem, dodając wartość do twojego pytania. Rzeczy, które można znaleźć omówione w ogóle w Internecie jako takie, nie stawiają dobrych pytań na temat SO. PS: sam nie przegrałem. – Bhaskar
To trochę trudne ... – yshavit
W jaki sposób pytanie jest niejednoznaczne? Chciał wyjaśnić, co oznaczają te terminy za pomocą przykładu kodu. I on pokazał badania, ponieważ czytał tę książkę. Czasami SO po prostu szlifuje moje narzędzia. Ugh. – Ungeheuer