online code snippet cookbook webseiten

Ist halt suboptimal wenn jeder nur seine eigene Ansammlung von code snippets hat. Machen uns quasi alle viel Arbeit damit wir am Ende des Tages sehr ähnliche Lösungen zu relativ häufig vorkommenden Problemen haben.
 
Die "Lösung" hängt gerade in der Programmierung auch immer mit den persönlichen Präferenzen des Entwicklers zusammen.

Du hattest irgendwo eine for-Schleife in Java angeführt. Da gibt's u.a. ...
Code:
// Arrays:
for(int i=0; i<foos.length; i++) {
  Foo foo = foos[i];
}


// Iterables:
for(Foo foo : foos) {
  // ...
}

for(Iterator<Foo> it = foos.iterator(); it.hasNext(); ) {
  Foo foo = it.next();
}

foos.forEach(foo -> {
  // ...
});


// Collections:
foos.stream()
  // .map(foo -> foo)
  .forEach(foo -> {
    // ...
  });


// Lists:
for(int i=0; i<foos.size(); i++) {
  Foo foo = foos.get(i);
}

for(ListIterator<Foo> it = foos.listIterator(); it.hasNext(); ) {
  Foo foo = it.next();
}


// Maps:
for(String key : foos.keySet()) {
  Foo foo = map.get(key);
}

foos.forEach((key, value) -> {
  // ...
});

Und das waren jetzt nur die einfachen Fälle. Wenn man mehr will / braucht, gibt's auch noch deutlich mehr Möglichkeiten: parallelStream, Spliterator, TreeSet, TreeMap, 1000 andere Varianten mit Streams, rekursive Verfahren, while-Schleife, do-while-Schleife, etc. pp.

Vor Java8 kann man die forEach Methoden nicht nutzen, keine Streams, keine Lambdas.
Seit Java10 kann man diverse Variablen als "var" bezeichnen.

Das hängt echt stark davon ab, was ich mit dem Code erreichen will und/oder war der Code Style Guide des Projekts verlangt. Und natürlich auch von den persönlichen Präferenzen - wenn man die Freiheit hat.

Also entsteht entweder eine ziemlich unübersichtliche Sammlung an Möglichkeiten, weil es tausende Möglichkeiten gibt und jeder eine andere Form bevorzugt und/oder durch seine Sprachversion limitiert ist. Oder man baut sich sein eigenes kleines Wiki.

Meine persönliche Wahl lautet: Google. Die ersten paar Links führen zu StackOverflow und dort stehen viele Ideen und Vorschläge. Speziell bei solchen 0815 Sachen findet man dort innerhalb einer Minute die passende Lösung.

Das eigentliche Problem ist (und bleibt) aber: Man muss wissen, was man braucht. Wenn es eine one-size-fits-all Solution geben würde, dann würde es sicherlich auch nur 1 Variante geben, um über Daten zu iterieren. Gibt's aber nicht! Es hängt halt vom Anwendungsfall ab, welche Variante am Besten passt.
 
Zuletzt bearbeitet:
Code Styling und einfachste Snippets "autovervollständigen" wie ein for (..) {} Konstrukt usw. sind doch Aufgabe der IDE...

Für "komplexere Snippets" bleibe ich dabei: Präsentiert lieber fertige Lösungen und macht ein OSS-Projekt davon :)
 
  • Gefällt mir
Reaktionen: new Account()
Simple Man schrieb:
Ist halt suboptimal wenn jeder nur seine eigene Ansammlung von code snippets hat. Machen uns quasi alle viel Arbeit damit wir am Ende des Tages sehr ähnliche Lösungen zu relativ häufig vorkommenden Problemen haben.
Meine Güte.
Wenn man in einer Gruppe von Entwicklern arbeitet, dann hat man ohnehin ne Versionsverwaltung (git oder ähnliche) wo quasi zentral ja alles was zum Programm gehört in einem Repository abgelegt ist (du hattest doch sogar explizit nach gefragt!). Und natürlich kannst Du da auch ne Datei ablegen, wo dann Snippets gesammelt werden.
Oder Du nimmst halt die Wiki-Idee. Wenn man eh ein git-Server hat, kann ists kaum noch Aufwand da auch ein Wiki mit dazu zu installieren.
 
@benneque
Deine code snippets bezüglich der "for-loop" (sehr simples Problem) gehen in genau die gemeinte Richtung :)

Aber wie sieht der code in Java, Python, C++, ... aus, wenn du einen web service abfragst, ein JSON zurückbekommst, welches die Struktur einer schon vorhandenen Klasse hat, und du quasi objekt=JSON haben möchtest? Und es soll ein "echtes" Objekt sein, welches auf die properties und Methoden zugreifen kann. Jemand hat die Funktionalität schon 10x in C# oder TypeScript angewendet und weiß auch was da alles so vor sich geht, braucht aber jetzt nur die paar code Zeilen in einer anderen Sprache.

Die Lösung ist schon irgendwo online. Wäre aber schon cooler, wenn das etwas zentraler und übersichtlicher strukturiert wäre.


Um das aber besser zu verstehen: Wenn ihr nach irgendetwas sucht, dann in google eingeben und höchstwahrscheinlich dann bei stackoverflow finden? Oder gibt es andere Anlaufstellen, Suchmethoden?
 
StackOverflow bietet doch bereits alles was man sucht. Und falls man es dort nicht finden sollte, stellt man einfach selbst eine Frage da ;) Meist dauert es keine 15 Minuten bis man 1-2 brauchbare Antworten hat.
Und schon hast du deine Wissensdatenbank :D Kannst ja auch Beiträge favorisieren, damit du sie schnell wieder findest.

Google: typescript json to object
Gibt direkt mindestens 10 brauchbare Ergebnisse. (Mal davon abgesehen, dass JSON to Object nicht TypeScript spezifisch ist. Dasselbe "Problem" hat man auch in reinem JavaScript. In TypeScript hat man halt zusätzlich nun noch die Möglichkeit, dass man kein echtes Objekt draus macht, sondern einfach mit JSON + Interfaces + externen Helper Funktionen arbeitet)
 
Simple Man schrieb:
Die Lösung ist schon irgendwo online. Wäre aber schon cooler, wenn das etwas zentraler und übersichtlicher strukturiert wäre.
Du solltest vor allem endlich mal klar machen, was Du willst.
Erst hieß es, Du willst für Dich Snippets sammeln können.
Dann hieß es plötzlich, dass soll aber auch in einem Programmierteam geteilt werden können.
Jetzt geht es plötzlich um Snippets die offenbar irgendwo im Internet zusammengetragen werden.

Was denn nu?



Simple Man schrieb:
Wenn ihr nach irgendetwas sucht, dann in google eingeben und höchstwahrscheinlich dann bei stackoverflow finden? Oder gibt es andere Anlaufstellen, Suchmethoden?
Eine Seite, wo "Snippets" für typische Aufgabenstellungen gesammelt werden ist beispielsweise rosettacode.org:
https://rosettacode.org/wiki/Category:Programming_Tasks
 
Es ist 2019! Hat noch wer eine coole webseite, die was taugt, mit Snippets?
 
Zurück
Oben