summaryrefslogtreecommitdiffstats
path: root/eiffel-fragen
diff options
context:
space:
mode:
Diffstat (limited to 'eiffel-fragen')
-rw-r--r--eiffel-fragen/eiffel-fragen.txt25
1 files changed, 25 insertions, 0 deletions
diff --git a/eiffel-fragen/eiffel-fragen.txt b/eiffel-fragen/eiffel-fragen.txt
new file mode 100644
index 0000000..0c46496
--- /dev/null
+++ b/eiffel-fragen/eiffel-fragen.txt
@@ -0,0 +1,25 @@
1- Wie hoch ist der Aufwand in Eiffel, um Zusicherungen im Programmcode zu formulieren?
2Eine Zusicherung ist nur eine Zeile lang und der Block von Zusicherungen wird durch nur ein Wort (require, ensure, invariant) eingeleitet. Der Schreibaufwand ist also sehr gering.
3
4Außerdem können die Zusicherungen als Schnittstellendefinitionen verwedet werden. Daher verursachen sie, aus dieser Perspektive, keine zusätzlichen Aufwand wenn sie eine andere Art von Schnittstellendefinition ersetzen.
5
6(siehe http://archive.eiffel.com/eiffel/nutshell.html "What's this "Design by Contract" thing?")
7
8
9-----------------------------------------------------------------------------------------
10- Wie stark wirkt sich die Überprüfung von Zusicherungen auf die Laufzeit aus?
11Die Zusicherungen wirken sich zwangsläufig stark auf die Laufzeit aus. Sie sind jedoch normalerweise nur während der Entwicklung eingeschaltet. In den produktiv eingesetzten Binaries sind sie typischer weise ganz abgeschaltet. Es besteht auch die Möglichkeit sie für jede Klasse einzeln auf verschiedene Level (no check, preconditions only, preconditions and postconditions, everything) einzustellen.
12
13(siehe http://www.faqs.org/faqs/eiffel-faq/ "How fast do Eiffel applications run?")
14
15
16-----------------------------------------------------------------------------------------
17- Vorbedingungen dürfen im Untertyp nicht stärker und Nachbedingungen nicht schwächer werden, um Ersetzbarkeit zu garantieren. Der Eiffel-Compiler überprüft diese Bedingungen. Ist es (trotz eingeschalteter Überprüfung von Zusicherungen) möglich, diese Bedingungen zu umgehen? Wenn ja, wie?
18
19
20-----------------------------------------------------------------------------------------
21- Eiffel erlaubt kovariante Eingangsparametertypen. Unter welchen Bedingungen führt das zu Problemen, und wie äußern sich diese? Können Sie ein Programm schreiben, in dem die Verwendung kovarianter Eingangsparametertypen zu einer Exception führt?
22
23
24-----------------------------------------------------------------------------------------
25- Vereinfachen kovariante Eingangsparametertypen die Programmierung? Unter welchen Bedingungen ist das so? \ No newline at end of file