CODING SOMMER CONTEST - Die Jagd ist eröffnet

asc

Well-Known Member
c-b Experte
#81
Ich kann gerne C/C++ und Perl (sind hier ja "nur" überwiegend reguläre Audrücke) analysieren. Mit etwas Krampf bekomme ich auch den Assembler von @beepsoft auseinandergefriemelt (bei @Xpyder bin ich aber raus :D)

Sehe es so wie @BAGZZlash - @German als "Vorsitzender" wäre wohl die Ideallösung.
 

Zhavok

Well-Known Member
#82
Ok, ich hätte noch @asc als Vorsitzenden vorgeschlagen, aber @German vertraue ich da auch voll und ganz. Ich würde sagen @German macht das einfach und er wird garnicht erst gefragt ob er das möchte XD
 

German

Well-Known Member
c-b Experte
#84
Hmpf. Ich glaube ich habe das Forum letzthin etwas vernachlässigt :( Weder bin ich dazu gekommen meinen Ansatz für den Contest fertig zu stellen, noch habe ich mir schon irgendwas von euren eingereichten Codes angesehen. Muss mal sehen, vielleicht schaffe ich es ja dieses Jahr mal ein paar Tage Urlaub einzuschieben. Bis jetzt ist das noch nicht in Sicht. Aber für so etwas brauche ich die nötige Ruhe ...
In den letzten Tagen habe ich die paar Stunden Freizeit darauf verwendet an einem Pull Request für das neue Windows Terminal zu arbeiten. Das Programmieren in C++ ist dabei für mich noch der simplere Teil. Das Drumherum (angefangen beim Arbeiten mit Git, für einen Lonesome Walker wie mich) ist nervig und frisst Zeit.
 

Zhavok

Well-Known Member
#87
Scheinbar passiert hier nicht mehr viel. Eigentlich schade, weil die Challenge an sich zumindest ein klein wenig für Aufsehen gesorgt hat. Ich habe den Link davon geteilt und versucht dritte auf das Board aufmerksam zu machen. Nur wenn jetzt hier ne Sackgasse entsteht, dann lohnen sich auch keine weiteren Challenges. Das wäre schade, weil ich finde, dass das Board etwas mehr Aufmerksamkeit verdient hätte.
 

JR Cologne

Well-Known Member
c-b Experte
#88
Letztendlich scheitert es leider meist daran, dass keine wirkliche Bewertung/Analyse der Beiträge stattfindet.

Im Grunde gibt es da nur zwei Optionen:

1. Eine Jury von Experten wird aufgestellt. Da scheitert es meist daran, dass es nicht genügend Experten gibt, die gleichzeitig auch noch genügend Zeit haben, damit eine Auswertung nicht erst ein halbes Jahr später fertig ist.

2. Jeder Teilnehmer gibt soweit möglich eine rezensionsartige Bewertung ab. Problem: min. 50% wissen nicht, wie und was genau sie bewerten sollen bzw. verstehen den Beitrag aufgrund mangelnder Kenntnisse gar nicht.
Und wenn niemand mit einem guten Beispiel vorangeht, wird das halt letztlich auch nichts.

Ich weiß leider auch nicht so wirklich, wie wir hier fortfahren sollen.
Die einzige Chance die ich sehe, ist vielleicht, dass eine Gruppe aus Experten einen Bewertungsbogen oder eine ähnliche Hilfestellung erarbeiten, wonach dann auch eher unerfahrene Leute eine Bewertung abgeben könnten.
Ob das klappt? Keine Ahnung.
Wenn die Challenge Bestand haben soll, bleibt uns glaube ich kaum etwas übrig, als es "einfach" auszuprobieren.
 

Mat

Well-Known Member
c-b Experte
#89
Eine Möglichkeit für die Rezension wären zeilenweise Kommentare auf GitHub, GitLab, BitBucket oder so (ggf. Code vorher in Zeilen aufteilen).
Ohne irgendwelche Plugins oder Drittanbieter sollte das zumindest in den Commit-Diffs möglich sein. Oder halt per Google-Doc.
So sieht das z. B. bei GitHub aus (leider kein besseres Beispiel gefunden).

Als der Wettbewerb angekündigt wurde, hatte ich nach Vorlagen für Bewertungsbögen gesucht, aber leider nichts gutes gefunden. Das Problem war, dass der Bogen sehr allgemein gehalten werden müsste. Man könnte ein paar ISO-Qualitätskriterien zur Bewertung heranziehen. Die Programmanforderungen für den Wettbewerb waren ja, wenn ich das richtig interpretiere, nur:
  • Programm funktioniert
    • kompilier- und ausführbar
    • gibt "hello world" in akzeptabler, lesbarer Form aus
  • Code ist schwer nachvollziehbar
    • z. B. besonders umständlich
    • oder unnötig rechenintensiv
    • oder schwer lesbar, maskiert
    • oder besonders kreativer Lösungsansatz

Am einfachsten wäre vielleicht eine Strichliste. Je mehr Kriterien erfüllt sind, desto WTF'iger ist der Code. Punkte aus der Strichliste + Gesamteindruck bestimmen dann die Platzierung.

Mögliche Punkte für die Strichliste:
  1. (De-)Maskierung (Verschlüsselung etc) von Strings vorhanden
  2. Überflüssige Variablen
  3. Eigenarten / unerwartetes Verhalten der Sprache ausgenutzt
  4. Sehr kurzer / unverhältnismäßig langer Code
  5. Tiefe Verschachtelung / hohe strukturelle Komplexität
  6. Mathematische / Logik-Spielereien vorhanden
  7. Bibliothek-Funktionen / Standarddatentypen zweckentfremdet
  8. Stark nichtlineare Ablaufreihenfolge / Viele Sprünge
  9. Funktionen / Anweisungen unklar
  10. Ineffizient (rechenintensiv, viele Anweisungen, Datei-IO, ungeeignete Datenstrukturen usw.)
 

JR Cologne

Well-Known Member
c-b Experte
#90
Die Idee finde ich schon gar nicht so schlecht.
Auch die Strichliste, die du zusammengestellt hast, erscheint mir durchaus hilfreich.

Die Review-Funktion auf GitHub ist natürlich eigentlich fast perfekt für unser Anliegen.
Das Problem ist, dass man in den Commits ja nur die einzelnen schrittweisen Änderungen nachvollziehen kann und jeder dann nachher an einer anderen Stelle kommentieren würde und keiner mehr die Übersicht über die Bewertungen hätte.

Wie wäre es, wenn wir GitHub nutzen würden, das Ganze aber etwas zentralisieren würden?
Wir können ja ein Repository für jede Challenge eröffnen und jeder Teilnehmer bekommt dann dort einen eigenen Branch, wo letztendlich der Code hochgeladen wird.
Bevor das passiert, muss derjenige allerdings einen Pull Request erstellen und genau dort findet dann die Bewertung des Beitrags statt.
Im Pull Request sind dann alle Änderungen auf einmal zu sehen und wir können schön kommentieren und bewerten.
Nach Abschluss der Bewertung kann der PR dann gemergt werden.
 
Gefällt mir: Mat

Xpyder

Well-Known Member
c-b Experte
#91
GitHub... Kenne ich nur dem Namen nach, habe ich noch nie benutzt.
Das bedeutet dann wohl, daß der Beitrag von jemandem, der kein GitHub nutzt, von der Bewertung ausgeschlossen wird?
 

JR Cologne

Well-Known Member
c-b Experte
#94
Ja, denke auch. Es ist zwar ein bisschen blöd, dass wir das auf eine fremde Plattform auslagern müssen, aber eine ähnlich gute Alternative gibt es leider nicht.
Selbst wenn jemand kein GitHub-Account hat, sollte das letztlich kein wirkliches Hindernis für eine Teilnahme sein.
 
#95
Hallo.

Will nicht mit machen und in der Jury hab ich bestimmt nix verloren.

Aber ich glaube, dass da was Sinnvolles gemacht werden sollte, anstatt nur "Hello World" möglichst umständlich auszugeben. ;) Würde sagen, Jeder schreibt ein Programm, dass er für nützlich/hilfreich hält. Je nachdem wie nützlich und gut programmiert das die anderen dann finden, gibts Preise und/oder Plätze.
 

Zhavok

Well-Known Member
#96
@ShawnRamon das hab man ja fürs nächste Mal überlegen, aber ich fände es erstmal wichtig das alte Projekt abzuschließen. Schließlich hat trotzdem jeder Zeit investiert und da wäre es schade wenns für umsonst gewesen wäre.
 

beepsoft

Well-Known Member
c-b Team
c-b Experte
Hallo,
ich schlage dringend vor, dass wir darüber nachdenken, was nice to have wäre und was wir leisten können.
Wir haben (nur) 7 Einreichungen. Und seit bald 3 Wochen steht der Vorschlag eine Jury zu bilden obgleich noch niemand erklärt hat in der Jury mitzuwirken.
Ich schlage erneut vor darüber abzustimmen, wer den aktuellen Contest gewinnt. Anschließend würde ich mir eine lebhafte Diskussion über die einzelnen Beiträge wünschen.
Aber Leute... Ursprünglich war ja die Idee mehr Aktivität im Board zu erzeugen.
Nun ein Außenstehender der neu ins Board kommt ließt viel darüber wie der Wettbewerb laufen könnte. Dazwischen ein paar Einreichungen und irgendwie stillstand.
Das Ziel Leute zum Mitmachen zu animieren erreichen wir so meiner Meinung nach nicht.
Wenn sich dann eine Jury findet begrüße ich das sehr. Es kann/sollte ja auch nicht der letzte Wettbewerb gewesen sein.

LG
 
Oben