diff --git a/wiki/thinkPad.ichthyo.mm b/wiki/thinkPad.ichthyo.mm index 217bd36a3..750b6815c 100644 --- a/wiki/thinkPad.ichthyo.mm +++ b/wiki/thinkPad.ichthyo.mm @@ -159780,7 +159780,7 @@ unsigned int ThreadIdAsInt = *static_cast<unsigned int*>(static_cast<vo - + @@ -159797,6 +159797,7 @@ unsigned int ThreadIdAsInt = *static_cast<unsigned int*>(static_cast<vo + @@ -159834,15 +159835,18 @@ unsigned int ThreadIdAsInt = *static_cast<unsigned int*>(static_cast<vo - + - + + +

- Es wird also definitiv nicht »der Clip« den Code enthalten, wie er sich selber rendert, oder »der Track« den Code enhalten, mit dem Mediendaten kombiniert und verarbeitet werden. + Es wird also definitiv nicht »der Clip« den Code enthalten, wie er sich selber rendert, oder »der Track« den Code enhalten, mit dem Medien-Inhalte kombiniert und verarbeitet werden.

-
+ +
@@ -159911,7 +159915,143 @@ unsigned int ThreadIdAsInt = *static_cast<unsigned int*>(static_cast<vo

- + + + + + + + + + + +

+ Ort der Entscheidungs-Logik +

+ + +
+ + + + + + + +

+ der Code macht was — und man weiß darum +

+ + +
+
+ + + + + + +

+ Trennung in Business-Kern, Framework und Library +

+ + +
+ +
+ + + + + + +

+ Code ist faktorisiert in getrennte Sachverhalte +

+ + +
+
+ + + + + + +

+ Code führt aus, delegiert, stellt sicher +

+ + +
+ + + + + +

+ Solchen Code sieht man mit gemischten Gefühlen — er ist nicht das, was man gesucht hat, aber er legt einem nahe, ihn zu ignorieren, ohne zu verstehen was er tut +

+ + +
+
+ + + + + + + + + + + + +

+ Hiervon gibt es zwei Ausprägungen +

+
    +
  • + es ist nicht klar, worauf sich der Code überhaupt bezieht und ob dies konkret relevant ist (beispielsweise binär codierte Flags ohne dokumentierte Bedeutung, oder zufällig Pattern, die man kennen muß) +
  • +
  • + der Bezug des Codes läßt sich nicht in Relation setzen zur aktuellen Situation (weil ein Zusammenhang implizit ist, oder gar rein kontingent, und pragmatisch genutzt wurde) +
  • +
+ + +
+
+ + + + + + +

+ In solchem Code findet man typischerweise nur eine endlose Folge von Abgrenzungen, die Verhalten unterdrücken, ablenken oder transformieren; das intendierte Verhalten steht grade nicht im Code, sondern bleibt übrig oder fällt an +

+ + +
+
+ + + + + + + +

+ Hierzu zähle ich auch den in der Praxis sehr häufigen Fall weithin verteilter Entscheidungs-Kaskaden, deren Konsequenz nur sichtbar wird, wenn man in einer ganz bestimmten Weise durch die Codebasis navigiert; jedes Einzelstück, das man dabei zu fassen bekommt, ist für sich genommen nichtsagend. Eine ähnliche Situation kann aber auch bei hochgradig »algorithmischem« Code auftreten, der zwar ganz kompakt an einer Stelle steht, dessen eigentliche Relevanz sich aber nur erschließt, wenn man sein Verhaltensmuster entschlüsselt hat. +

+ + +
+
+
+