Forum: Mikrocontroller und Digitale Elektronik Code bewerten - als Anfänger


von USS (Gast)


Lesenswert?

Hallo,

wenn man als Anfänger seinen eigenen Code bewerten soll, welche 
Anhaltspunkte würdet ihr wählen?

von USS (Gast)


Lesenswert?

jetzt mal unabhängig von funktioniert/ funktioniert nicht oder versetht 
es ein andere ja/ nein

von Baendiger (Gast)


Lesenswert?

Ich denke nicht das ein Anfänger (vlt. sogar jeder)  seinen eingenen 
Code sinnvoll berwerten kann. Was ein Anhaltspunkt sein könnte: wenn du 
nach einer Weile deinen Code ändern oder erweitern willst und dabei 
größere Schwierigkeiten hast, dann ist der Code schlecht dokumentiert 
oder strukturiert.

von Michael B. (laberkopp)


Lesenswert?

USS schrieb:
> wenn man als Anfänger seinen eigenen Code bewerten soll, welche
> Anhaltspunkte würdet ihr wählen?

Die klassische Bewertung eines Programmcodes (oder allgemeiner eines 
Algorithmus), in jeder Informatik-Grundvorlesung, geht nach dem Aufwand 
den der Prozessor hat die Aufgabe zu bearbeiten, also die Anzahl der 
Maschienbefehle die (nicht der code lang ist sondern die) ausgeführt 
werden um das Problem (inklusive Fehlerbearbeitung) zu lösen.

So sind Programme, die eine Aufgabe mit mehr Rechenaufwand lösen, 
schlechter als solche, die es schneller mit weniger Aufwand hinbekommen.

Es gibt da ganze Notationen mit O(n) als Komplexitätsbetrachtungen von 
Algorithmen.

Das macht man in der Grundvorlesung mit einfachem code (z.B. 
Sortieralgorithmen), später wird vorausgesetzt daß man den Aufwand den 
man dem Prozessor aufhalst abschätzen kann. Leider besuchen viele self 
taught programmes keine Grundvorlesung.

Üblicherweise gilt, daß Programme die weniger Aufwand enthalten, auch 
einfacher zu erweitern und warten sind.

von Wolfgang (Gast)


Lesenswert?

Michael B. schrieb:
> Die klassische Bewertung eines Programmcodes ... geht nach dem Aufwand
> den der Prozessor hat die Aufgabe zu bearbeiten

Das ist nur ein Aspekt.
Was ist mit Testbarkeit, Fehlerverhalten, Wartbarkeit (nicht als 
Nebeneffekt), Dokumentation und (dank der BLWer) Time-to-Market?

von USS (Gast)


Lesenswert?

Danke für die Rückmeldungen.

Michael B. schrieb:
> Informatik-Grundvorlesung,

habe so eine Vorlesung nie besucht, das grobe Zeug, was ich beherrsche, 
selber beigebracht. =)

Michael B. schrieb:
> Anzahl der
> Maschienbefehle

wie kann ich das in meinem konkreten Fall herausfinden? Also was ich so 
höre, hängt es von der Hochsprache usw ab

von Mark B. (markbrandis)


Lesenswert?

Michael B. schrieb:
> So sind Programme, die eine Aufgabe mit mehr Rechenaufwand lösen,
> schlechter als solche, die es schneller mit weniger Aufwand hinbekommen.

Das stimmt so pauschal sicher nicht. Manchmal ist genug Rechenzeit da, 
aber der Speicher ist knapp. Dann wäre es unklug, wenn man einen 
Algorithmus verwendet der viel Speicherplatz benötigt, aber mit der 
Rechenzeit sparsam umgeht.

"Für nicht genutzte Rechenzeit gibt es kein Geld zurück." :-)

von USS (Gast)


Lesenswert?

Wolfgang schrieb:
> Fehlerverhalten

interessanter Punkt.  Wie macht man das "messbar", also wie kann ich da 
eine quantitative Aussage treffen?

von Mark B. (markbrandis)


Lesenswert?

USS schrieb:
> Hallo,
>
> wenn man als Anfänger seinen eigenen Code bewerten soll, welche
> Anhaltspunkte würdet ihr wählen?

Der Code ist dann gut, wenn er:

1.) Das korrekte Ergebnis liefert.
2.) Von einer anderen Person gelesen und ohne großen Aufwand verstanden 
werden kann. Das erzielt man durch vernünftige Namen für Funktionen und 
Veriablen, und hier und da mal einen sinnvollen Kommentar warum man 
Problem X jetzt auf die Art und Weise Y löst.

von Mark B. (markbrandis)


Lesenswert?

USS schrieb:
> wie kann ich das in meinem konkreten Fall herausfinden? Also was ich so
> höre, hängt es von der Hochsprache usw ab

Jeder Compiler kann Dir den erzeugten Maschinencode ausgeben. Beim gcc 
zum Beispiel geht das mit der Option -S.

: Bearbeitet durch User
von USS (Gast)


Lesenswert?

Mark B. schrieb:
> 1.) Das korrekte Ergebnis liefert.
> 2.) Von einer anderen Person gelesen und ohne großen Aufwand verstanden
> werden kann. Das erzielt man durch vernünftige Namen für Funktionen und
> Veriablen, und hier und da mal einen sinnvollen Kommentar warum man
> Problem X jetzt auf die Art und Weise Y löst.

naja, obs jemand versteht ist subjektiv. Ich wollte mehr in die 
wissenschaftliche Richtung

von Mark B. (markbrandis)


Lesenswert?

USS schrieb:
> Wolfgang schrieb:
>> Fehlerverhalten
>
> interessanter Punkt.  Wie macht man das "messbar", also wie kann ich da
> eine quantitative Aussage treffen?

Fehleingaben provozieren und das Ergebnis messen. Alle Eingaben sollten 
im Code auf Plausibilität geprüft werden. Wenn irgendein Wert nicht 
plausibel ist, braucht man eine vernünftige Fehlerreaktion. Durch Null 
teilen ist zum Beispiel meistens nicht sehr vorteilhaft. ;-)

von Mark B. (markbrandis)


Lesenswert?

USS schrieb:
> naja, obs jemand versteht ist subjektiv. Ich wollte mehr in die
> wissenschaftliche Richtung

Es gibt kein strenges wissenschaftliches Kriterium für die Qualität von 
Code (oder besser: für manche Aspekte der Qualität). Wenn es das gäbe, 
könnte man einfach einen Analyzer bauen der einem sagt "hier die Stelle 
ist schlecht und die und die".

Was es gibt, sind Tools zur statischen Codeanalyse. Die weisen auf 
Fehler hin wie nicht initialisierten Speicher und dergleichen. Aber sie 
können nicht die Verständlichkeit des Codes für Menschen prüfen. Die ist 
aber in großen Software-Projekten, an denen mehrere Menschen arbeiten, 
extrem wichtig.

: Bearbeitet durch User
von NichtWichtig (Gast)


Lesenswert?

Einem Anfänger anzuraten den Maschinencode als Maß von Softwarequalität 
heran zu ziehen halte ich für falsch.

Auf Sourcecode Ebene gibt es brauchbare Richtlnie nach denen der code 
erstellt werden sollte.
Man muß ja nicht gleich MISRA-C anlegen, aber einiges davon ist durchaus 
sinnvoll.

Lesestoff (und weiter führende links) gibt es z.B. hier: 
https://de.wikipedia.org/wiki/Programmierstil

von Cyblord -. (cyblord)


Lesenswert?

USS schrieb:
> Hallo,
>
> wenn man als Anfänger seinen eigenen Code bewerten soll, welche
> Anhaltspunkte würdet ihr wählen?

Code wird in WTF / Minute bewertet.

Lasse einen andere über deinen Code schauen und zähle wie oft er "What 
the fuck" sagt.

: Bearbeitet durch User
von Imonbln (Gast)


Lesenswert?

Wolfgang schrieb:
> Das ist nur ein Aspekt.
> Was ist mit Testbarkeit, Fehlerverhalten, Wartbarkeit (nicht als
> Nebeneffekt), Dokumentation und (dank der BLWer) Time-to-Market?

Auf Time-to-Market würde ich nur Optimieren, wenn ich weiß das die Firma 
verlasse bevor das nächste Update Kommt. Bei denn anderen Aspekten gehe 
ich mit.

Wichtig ist auch immer, das der Autor des Codes sagt auf was er 
Optimiert hat. Was nutzt mir ein super schnelle Algorithmus, der viel 
Speicher braucht wenn ich nur wenig davon habe. Die Wartbarkeit ist auch 
so ein Faktor, denn man Schwer Objektiv messen kann, aber guten Code von 
Schlechten unterscheidet.

Ich zum Beispiel finde die Simple Erkenntnis: "Code wird öfters gelesen 
als Geschrieben, also Optimiere auf das leichte Verständnis!" Im 
allgemeinen besser, als, auf das letzte µ-laufzeit von Hand optimierte 
Programme. Als High frequency Broker hätte ich vielleicht andere 
Prioritäten.

von Al3ko -. (al3ko)


Lesenswert?

USS schrieb:
> wenn man als Anfänger seinen eigenen Code bewerten soll, welche
> Anhaltspunkte würdet ihr wählen?

Wie groß bzw. umfangreich ist dein Code?

Und da du im Elektronik/uC Unterforum geschrieben hast, gehe ich davon 
aus, dass dein Code für uC gedacht ist?

Gruß,

von Mark B. (markbrandis)


Lesenswert?

Cyblord -. schrieb:
> Code wird in WTF / Minute bewertet.

Genau, beim Review :-)

https://www.osnews.com/story/19266/wtfsm/

von USS (Gast)


Lesenswert?

NichtWichtig schrieb:
> Lesestoff (und weiter führende links) gibt es z.B. hier:
> https://de.wikipedia.org/wiki/Programmierstil

danke, guter Hinweis

von USS (Gast)


Lesenswert?

Al3ko -. schrieb:
> Wie groß bzw. umfangreich ist dein Code?

ca 1000 Zeilen

von USS (Gast)


Lesenswert?

Al3ko -. schrieb:
> Und da du im Elektronik/uC Unterforum geschrieben hast, gehe ich davon
> aus, dass dein Code für uC gedacht ist?

das ist richtig

von Softwerker (Gast)


Lesenswert?

Es lässt sich kurz zusammenfassen, dass es mannigfaltige Kriterien zur 
Bewertung von Sourcecode gibt. Das hängt stark davon ab, was Deine 
Aufgabe in einem Projekt ist und ob es sich um PC-Software oder Firmware 
handelt.
Meiner Erfahrung nach, wirst du Sourcecode einmal schreiben und vielfach 
lesen müssen. Schreib ihn so, dass er einfach lesbar ist. Davon 
ausgenommen sind lediglich performance-kritische Codeteile. Die dann mit 
entsprechend noch höherer Sorgfalt dokumentiert werden müssen.

Für mich hat sich folgendes Kriterium als brauchbar erwiesen:

google nach: "the only valid measurement of code quality wtfs/minute"

von USS (Gast)


Angehängte Dateien:

Lesenswert?

kann man soetwas als Programmierstil bezeichnen (gibt es eine Norm)? Ist 
das soetwas, an das ihr euch haltet?

von Mark B. (markbrandis)


Lesenswert?

USS schrieb:
> kann man soetwas als Programmierstil bezeichnen (gibt es eine Norm)? Ist
> das soetwas, an das ihr euch haltet?

Normen sind je nach Branche unterschiedlich. Im Automotive Bereich wird 
oft MISRA verwendet, in der Luft- und Raumfahrt DO-178C, im 
Eisenbahnbereich EN 50128 und EN 50657, ...

: Bearbeitet durch User
von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

USS schrieb:
> kann man soetwas als Programmierstil bezeichnen

ein "Prinzipieller Aufbau" ist erstmal kein "Stil", sondern "Struktur".
So wie ein Auto prinzipiell ein Lenkrad hat.

Ein weiteres schräges Beispiel:

Eine Wohnung kann durchaus "Struktur" haben (z.B.  hat Wohnung_1 und 
Wohnung_2 ein Schlafzimmer und ein Badezimmer)

Ob es noch zur "Struktur" gehört, das das Schlafzimemr "zur Strasse 
raus" ist, und das Badezimmer ein Durchgangszimmer ist, darüber kann man 
philisophieren.

Der Stil (die eigentliche Ausführung) mag dann jedoch unterschiedlich 
sein: Das Durchgangs-Badezimmer hat feinsten Marmor und goldene 
Wasserhähne, und das andere Bad hat angedötschte Fliesen aus den 50ern 
...

: Bearbeitet durch User
von Theor (Gast)


Lesenswert?

USS schrieb:
> kann man soetwas als Programmierstil bezeichnen (gibt es eine Norm)? Ist
> das soetwas, an das ihr euch haltet?

Lies bitte den verlinkten Wikipedia-Artikel.

Mir scheint die Frage wichtig, worum es Dir geht.

Ich vermute, Du nimmst an, dass es einen richtigen, allgemein 
anerkannten Stil gibt. Das trifft nicht zu.

Es gibt vielmehr eine Reihe verschiedener, sich teilweise 
widersprechende, teilweise umstrittene Regeln, auf die man sich 
festlegen kann oder auch nicht. Der Wikipedia-Artikel beschreibt das 
Problem der Entscheidung und einige Regeln recht verständlich und 
ausführlich, denke ich.

Das wesentliche scheint mir zu sein, sich, für sich persönlich oder für 
eine Gruppe, zunächst mal auf ein paar Regeln festzulegen und sie strikt 
zu befolgen. Man wird im Laufe der Zeit erfahren, ob der Sinn, der 
Effekt dieser Regeln für einen selbst wichtig ist oder nicht. Ebenso, ob 
es Regeln gibt, die einem fehlen oder sogar solche, an die noch niemand 
gedacht hat.

Sinnvolle Fragen i.d.Zshg. scheinen mir also zu sein: Welche Regeln gibt 
es (Wikipedia und anderswo)? Welche will ich anwenden? Welchen Effekt 
sollen sie haben? Haben (nach einer Weile der Anwendung) diese Regeln 
den gewünschten Effekt? Welche externe Kritik gibt es? Halte ich diese 
Kritik für relevant?

von Imonbln (Gast)


Lesenswert?

USS schrieb:
> kann man soetwas als Programmierstil bezeichnen (gibt es eine
> Norm)? Ist
> das soetwas, an das ihr euch haltet?

Kommt Darauf an (TM) Wenn es Teil des Pflichtenheft/Projektstandard ist, 
halte ich mich dran. Meiner Persönlichen Meinung widerspricht der Aufbau 
diese Struktur.
Zum Beispiel Wenn die Funktionen so wie so in der gleichen Datei 
Implementiert werden, wozu dann die Protoypen über der Main? Die Main am 
Ende hätte den Vorteil, dass ich mit einer guten IDE sofort dahin 
springen kann und das Programm so lesen wie es der Computer tut und so 
weiter.

von USS (Gast)


Lesenswert?

Wegstaben V. schrieb:
> Das ist erstmal kein "Stil", sondern "Struktur".

macht Sinn. Gibt es Normen für Strukturen

von foobar (Gast)


Lesenswert?

> Üblicherweise gilt, daß Programme die weniger Aufwand enthalten, auch
> einfacher zu erweitern und warten sind.

Dass die Effizienz eines Programms in die Qualitätsbewertung eingeht, 
steht außer Frage.  Allerdings habe ich eher die Erfahrung gemacht, dass 
effiziente Lösungen meist komplexer und schwerer zu warten sind als 
triviale, einfache und offensichtlich korrekte, dafür aber meist weniger 
effiziente Lösungen.  Zu entscheiden, welche davon die "bessere" Lösung 
ist, erfordert Erfahrung und einen guten Überblick über das 
Gesamtproblem.


>> Anzahl der Maschienbefehle
>
> wie kann ich das in meinem konkreten Fall herausfinden? Also was ich so
> höre, hängt es von der Hochsprache usw ab

Beim Betrachten der Laufzeit unter Groß-O-Notation ist die konkrete 
Implementierung eher nebensächlich.  Man betrachtet die Abhängigkeit der 
Laufzeit von der Menge an Eingabedaten: doppelte soviele Eingabedaten, 
doppelte Laufzeit -> O(N); doppelte Eingabedaten, 4-fache Laufzeit -> 
O(N²); etc.  Ob die Implementation in Sprache A nun 30% schneller ist 
als in Sprache B, ist irrelevant, da konstante Faktoren rausfliegen. 
Die Sprache wird erst relevant, wenn sie bestimmte (effiziente) Lösungen 
nicht ermöglicht.

von Mark B. (markbrandis)


Lesenswert?

USS schrieb:
> Wegstaben V. schrieb:
>> Das ist erstmal kein "Stil", sondern "Struktur".
>
> macht Sinn. Gibt es Normen für Strukturen

Nennt sich UML.

https://de.wikipedia.org/wiki/Unified_Modeling_Language

von Theor (Gast)


Lesenswert?

Ich vergaß zu erwähnen, dass es auch ästhetiche Gesichtspunkte gibt. In 
manchen Fällen widersprechen sie auch einer Stilregel.

Mir z.B. ist es lieber, Bedingungen wie
1
if (i == 7) ...

nicht so
1
if (7 == i) ...

zu schreiben, obwohl es mir korrekt erscheint, dass die zweite 
Schreibweise einen Fehler wie
1
if (i = 7) ...

vermeidet.


Im übrigen ist es durchaus eine Ansichtssache, was unter "Stil" fällt. 
Der Wikipedia-Artikel nennt einige Regeln und (sogar) Paradigmen bzw. 
Entwicklungsmuster, die er "im weiteren Sinn" als "Stil" bezeichnet; 
also nicht im eigentlichen. Muss man sich überlegen, ob man so eine 
Abgrenzung für wichtig hält und wofür.

von foobar (Gast)


Lesenswert?

> nicht so: if (7 == i) ...

Dass dir das nicht gefällt, mag aber auch an deiner Muttersprache 
liegen.  Ein Japaner verteidigte mal diese Schreibweise damit, dass sie 
eher der japanischen Sprache entspricht (Wortreihenfolge im Satz) - 
klingt einleuchtend, weiß aber nicht, ob das tatsächlich so ist ;-)

von A. S. (Gast)


Lesenswert?

Solange der TO nicht schreibt, wofür oder auf was er bewerten will, ist 
das alles hier.kaffesatzleserei.

Sollst Du für irgendwas oder irgendwen bewerten? Wird jemand anders 
bewerten? Dann nenne Ross und Reiter.

Willst du besser werden? Dann schreibe und lese Code, und ein paar gute 
Bücher. Zu beidem kannst Du auch konkret hier fragen.

von Markus (Gast)


Lesenswert?

Es kommt drauf an.
Bei Python wäre man schon froh, jeder würde sich an den PEP8-Guide 
halten.

von Wolfgang (Gast)


Lesenswert?

Mark B. schrieb:
> Fehleingaben provozieren und das Ergebnis messen.

Das ist doch nur UI. Viel kritischer ist, das Laufzeitprobleme 
vernünftig behandelt werden. Sonst gibt es soetwas wie eine Ariane 5.2 
mit der bewährten Ariane 4 Software.

von Stefan F. (Gast)


Lesenswert?

USS schrieb:
> wenn man als Anfänger seinen eigenen Code bewerten soll, welche
> Anhaltspunkte würdet ihr wählen?

das geht nicht. Anfänger können ihren eigenen Code nicht bewerten.

von USS (Gast)


Lesenswert?

ihr gebt mir viel Input, was gut ist, aber einiges geht durcheinander.
Das Bild von dem Aufbau eines C-Programmes -> habe ich in öffentlich 
zugänglichen uochschulmaterila gefunden. Es stand keine Norm dabei oder 
ähnliches. Aber ich bezweifel, dass der prof sich das aus der Nase 
gezogen hat. Deswegen die Frage, ob es zu dem konkreten Beispiel eine 
Norm gibt
 Ansonsten erstmal vielen dank, lese mich ein und sonst melde ich mich 
nochmal

von Stefan F. (Gast)


Lesenswert?

USS schrieb:
>> Anzahl der Maschienbefehle
> wie kann ich das in meinem konkreten Fall herausfinden?

Das bekommst du indirekt über Performance-Tests heraus, bei denen man 
nicht nur die Ausführungszeit sondern auch die CPU und Speicherlast 
berücksichtigt.

von Stefan F. (Gast)


Lesenswert?

Mark B. schrieb:
> "Für nicht genutzte Rechenzeit gibt es kein Geld zurück." :-)

Das ist nur halb richtig. Denn schlafende Computer nehmen weniger Strom 
auf (nicht alle, aber die meisten). Und den vergangenen 20 Jahren haben 
Intel und AMD ihre x86 Prozessoren in dieser Hinsicht extrem verbessert.

von Mark B. (markbrandis)


Lesenswert?

Wolfgang schrieb:
> Mark B. schrieb:
>> Fehleingaben provozieren und das Ergebnis messen.
>
> Das ist doch nur UI.

Nicht unbedingt: Eine Fehleingabe könnte auch von einem Sensor kommen, 
der einen nicht plausiblen Messwert ausgibt.

von Stefan F. (Gast)


Lesenswert?

Cyblord -. schrieb:
> Code wird in WTF / Minute bewertet.

Das ist witzig, aber auch richtig. Bringt es prägnant auf den Punkt.

von Theor (Gast)


Lesenswert?

USS schrieb:
> ihr gebt mir viel Input, was gut ist, aber einiges geht durcheinander.
> Das Bild von dem Aufbau eines C-Programmes -> habe ich in öffentlich
> zugänglichen uochschulmaterila gefunden. Es stand keine Norm dabei oder
> ähnliches. Aber ich bezweifel, dass der prof sich das aus der Nase
> gezogen hat. Deswegen die Frage, ob es zu dem konkreten Beispiel eine
> Norm gibt
>  Ansonsten erstmal vielen dank, lese mich ein und sonst melde ich mich
> nochmal

Aber lieber USS! Dann musst Du Deine Frage sorgfältiger formulieren.

Du hast ursprünglich gefragt:

"wenn man als Anfänger seinen eigenen Code bewerten soll, welche
Anhaltspunkte würdet ihr wählen?"

Das ist eine ganz andere Frage. Nämlich die woher Dein Prof. irgendein 
Bild hat und ob das aus einer Norm stammt.

Wenn hier irgendwas durcheinander geht, dann Deine Fragen.

Bitte habe Verständnis dafür, dass die Verständigen hier genau die Frage 
beantworten, die Du stellst. Nicht die, die Du nicht stellst.
Wir lesen keine Gedanken und unsere Glaskugeln sind alle beim polieren. 
:-)

von Cyblord -. (cyblord)


Lesenswert?

Stefan ⛄ F. schrieb:
> Cyblord -. schrieb:
>> Code wird in WTF / Minute bewertet.
>
> Das ist witzig, aber auch richtig. Bringt es prägnant auf den Punkt.

Das höre ich oft.

von USS (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Das bekommst du indirekt über Performance-Tests heraus, bei denen man
> nicht nur die Ausführungszeit sondern auch die CPU und Speicherlast
> berücksichtigt.

weiß ich nicht, wie so ein Test aussieht

von USS (Gast)


Lesenswert?

Theor schrieb:
> Bitte habe Verständnis dafür, dass die Verständigen hier genau die Frage
> beantworten, die Du stellst. Nicht die, die Du nicht stellst.
> Wir lesen keine Gedanken und unsere Glaskugeln sind alle beim polieren.
> :-)

passt doch alles, die Frage hat sich  herauskristallisiert

von USS (Gast)


Lesenswert?


von Paul Plan (Gast)


Lesenswert?

Das alleinige Kriterium ist, ob der Code die Anforderungen erfüllt.
Code ist ja kein Kunstwerk, für das der Künstler beliebig viel Zeit 
investieren soll.

Alles was der Code erfüllen soll ist im Vorfeld festgelegt. z.B.
- maximaler Speicherbedarf
- Ausführungsgeschwindigkeit
- Reaktionsgeschwindigkeit
- Skalierung
- Fertigstellungstermin
- Kosten/Zeitaufwand

und nicht zuletzt auch firmeninterne Regelungen wie
- Coding-Style
- Variablenbenennungen
- Dokumentation
- Versionierung
- Testkriterien

Dann kannst z.B. ein Netzdiagramm machen, wie gut die einzelnen 
Anforderungen erfüllt sind.
Alles was nicht im Vorfeld festgelegt wurde, kann nicht in 
Qualitätsbetrachtungen eingehen.

von Vincent H. (vinci)


Lesenswert?

Meiner Meinung nach können Anfänger Code schon auch bewerten, aber halt 
nach simplen Kriterien. Zwei Dinge die mir da ad-hoc einfallen sind:
-) Zu lange Funktionen
-) Zu große Einrückungstiefe

Das sind erfahrungsgemäß auch so Dinge die quasi jeder am Anfang falsch 
macht.

von USS (Gast)


Lesenswert?

Vincent H. schrieb:
> -) Zu große Einrückungstiefe

was spielt das für eine Rolle?

von Vincent H. (vinci)


Lesenswert?

Salopp gesagt heißt zu große Einrückungstiefe dass der Code zu komplex 
ist was Verzweigungen und Co angeht.

von USS (Gast)


Lesenswert?

Vincent H. schrieb:
> Salopp gesagt heißt zu große Einrückungstiefe dass der Code zu komplex
> ist was Verzweigungen und Co angeht.

ah verstehe. tatsächlich habe ich, was das angeht, gut gepunktet

von Jemand (Gast)


Lesenswert?

Michael B. schrieb:
> also die Anzahl der Maschienbefehle die (nicht der code lang ist sondern
> die) ausgeführt werden um das Problem (inklusive Fehlerbearbeitung) zu
> lösen.

Mit heutigen Prozessoren kann die Performance auch mal mit der Anzahl 
der ausgeführten Instruktionen steigen, ist also eher eine sinnlose 
Metrik. Gemessene Taktzyklen sind aussagekräftiger.

von A. S. (Gast)


Lesenswert?

USS schrieb:
> Aber ich bezweifel, dass der prof sich das aus der Nase gezogen hat

Wenn es darum geht, Code für einen Prof zu schreiben: das hat nichts mit 
echten Code zu tun. Das wäre, als bewerte man ein Gedicht nach der 
Handschrift.

Die ganzen akademischen Regeln gelten für Code von genau dem Umfang 
(1000 Zeilen ). Und wenn der Prof an ungarischer Notation hängt, dann 
macht es den Code nicht besser, aber deine Zensur.

von Stefan F. (Gast)


Lesenswert?

USS schrieb:
> weiß ich nicht, wie so ein Test aussieht

Kann man auch nicht pauschal sagen- Performance Tests sind immer sehr 
Anwendungsspezifisch und werden in der Regel selbst wiederum 
schrittweise entwickelt. An besten von einem separaten Team - nicht von 
den Programmierern.

von Stefan F. (Gast)


Lesenswert?

A. S. schrieb:
> Und wenn der Prof an ungarischer Notation hängt, dann
> macht es den Code nicht besser, aber deine Zensur.

Genau, womit wie wieder darauf zurück kommen, dass der Code die 
Anforderungen des Kunden erfüllen muss. In diesem Fall ist der Professor 
der Kunde und auch derjenige, der Struktur und Stil vorgibt.

Als Entwickler orientiert man sich besser daran, was die Leute um einen 
herum haben wollen, als an irgendwelchen Standards. Über Standards 
sollte man genau so wie über eigene Ideen mit Team und ggf. Kunde 
diskutieren, bevor man sie umsetzt.

von Markus F. (mfro)


Lesenswert?

Stefan ⛄ F. schrieb:
> das geht nicht. Anfänger können ihren eigenen Code nicht bewerten.

Grundsätzlich kann jemand, der ein Stück Code geschrieben hat, dessen 
Qualität nicht bewerten. Egal ob Anfänger oder nicht.

Wer (funktionierenden) Code geschrieben hat, hat das Problem verstanden 
und offensichtlich auch den Algorithmus (sonst würde der Code 
wahrscheinlich nicht funktionieren).

Für den wird es immer einfacher sein, das Programm zu verstehen als für 
jemanden, der sich (noch) nicht eingehend mit dem Problem beschäftigt 
hat.

Wenn beispielsweise jemand, der sich länger mit Grafik-Algorithmen 
beschäftigt hat, wird er einen Bresenham- oder DDA-Algorithmus auch ohne 
ausgiebige Kommentierung mehr oder weniger sofort als solchen erkennen.

Wer Finanzsoftware programmiert, wird selbst mit Kommentaren 
wahrscheinlich noch Literatur benötigen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.