Hallo,
Du meinst, dein erstes Beispiel ist übersichtlicher? Würde ich nicht sagen.
ich auch nicht; für mich sind sie vomn der Verständlichkeit her gleichwertig.
Das zweite Codebeispiel macht mir beim Lesen beispielsweise sehr deutlich, dass du den Parameter "exponent" komplett ignorierst, und neu in der Schleife initialisierst. Außerdem vergleichst du den inkrementierten Exponenten mit der Basis. War das Problem der Potentberechnung nicht, so oft, wie der Exponent sagt, die Basis zu multiplizieren? Du brauchst also eine unabhängige Laufvariable, die du nicht hast.
Für mich haben beide Beispiele das Problem, dass zusammengehörende Token (Operand, Operator, Operand) genauso intern durch Leerzeichen getrennt sind wie Anweisungen untereinander. Ich bemühe mich im allgemeinen, zuammengehörende Token auch zusammen zu schreiben, und Leerzeichen (oder Leerzeilen) nur zur Trennung von separaten Schritten einzusetzen.
In der Regel geht es immer um irgendeinen fachlichen Kontext, der nicht selbsterklärend ist. Und für den braucht man als Mensch alle verfügbaren Hilfestellungen zum Verständnis - ansonsten könntest du direkt Assembler binär in die Maschine tickern.
Was oft das Ziel deutlicher zeigen würde als das, was manche Programmierer in Javascript, PHP, C oder einer anderen Hochsprache formulieren.
So long,
Martin
Bei der Umsetzung von guten Ideen hapert es meist viel mehr an der Wolle als an der Könne.