Code Snippets

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Code Snippets

    Hallo!

    Da ich unglücklicherweise dazu gezwungen bin für mein Studium eine Seminararbeit über Code Snippets Platformen im Internet zu schreiben und dabei nicht weiter komme, versuche ich mal ob ich auf diese Weise ein paar Anregungen bekommen kann.
    Ich selbst habe derartiges nie verwendet und wußte nichteinmal, dass so etwas existiert. Entsprechend schwer tue ich mir damit über dieses Thema 50 Seiten zu schreiben. Auch scheint keine Literatur zu dem Thema Code Snippets bzw. deren Verwendung oder Verbreitung zu existieren.
    Vielleicht weiß aber hier jemand doch etwas und kann mir damit weiter helfen.

    Je nachdem zu welchen Themen ich Literatur, oder notfalls auch Onlineartikel, finde kann ich dann den Schwerpunkt setzen.
    Das kann von der Sinnhaftigkeit der Verwendung von Code Snippets (Vor-/Nachteile) über die Frage wie Code Snippets Plattformen sinnvoll aufgebaut werden können bis zu rechtlichen Aspekten bei der Verwendung von Code Snippets gehen. Vorallem in Firmen ist das ev. auch ein Thema das zu beachten ist. Ich bin also für jeden Hinweis und jede Idee dankbar, die mir hilft hier irgendwie 50 Seiten voll zu bekommen.

    Vielen Dank für Eure Hilfe!

    LG
    Erich
  • Ich glaube, ich würde eine Analyse von bestehenden Systemen machen.
    Eine Plattform wäre z.B. snipplr.com/, eine weitere roseindia.net (wobei es hier eher um Tutorials geht)... Es gibt noch viele andere Portale, die sich im weitesten Sinne mit Code Snippets befassen.

    Generell könntest du vllt. erstmal damit anfangen, woher der Begriff stammt und warum es überhaupt den Drang gibt, eine Snippet Plattform zu betreiben. Dann würde ich, wie oben schon gesagt, bestehende Lösungen untersuchen und überlegen, was eine solche Plattform ausmacht.

    Richtige Literatur wirst du da wahrscheinlich nicht finden. Zumindest habe ich noch kein Buch gesehen das z.B. den Titel trägt: Wie werde ich Snipper in 21 Tagen =)
    Meistens beschäftigen sich Bücher ja mit Produkten oder gewinnbringenden Problemfeldern. Eine Snippet-Plattform ist ein Community-Portal, wobei die Zielgruppe sehr speziell ist. Letztendlich ist es aber eine soziale Plattform. Daher wäre es eventuell spannend die Aspekte von Web2.0 und Social Networks anhand eines solchen Beispiels zu untersuchen.
  • Hallo Erich, willkommen!

    Allgemein solltest du nach Begriffen "Pastebin" und "Nopaste" recherchieren.
    Ich kann dir keine Literatur liefern aber ich berichte dir gerne aus Erfahrung.
    Wir hatten auch mal einen Code Snippet Service unter nopaste.easy-coding.de.

    Motivation der Nutzer
    Vor allem wenn man sich bei ICQ/Jabber/MSN & Co über einen bestimmten Quellcode unterhält, dann ist ein Pastebin die einfachste Möglichkeit sich auszutauschen.
    Das Ziel ist also eine möglichst einfache Plattform zu finden (keine lästige Registrierung, etc).

    Motivation der Betreiber
    Im Idealfall haben Betreiber und Nutzer die selbe Motivation, sie wollen Informationen teilen, nichts weiter ;)
    Ansonsten sind die Kosten für eine solche Plattform relativ gering. Man spricht von "User generated Content" durch die der Mehrwert der Seite steigt.
    Außerdem steigt der Mehrwert, weil die Plattformen häufig von fremden Webseiten wie Foren verlinkt werden (Pagerank).

    Wie macht man seine Besucherzahlen also zu Geld: richtig, mit Werbung!
    Die Zielgruppe aber ist technik affin und klickt wenig auf Werbung. Man wird also eine geringe CTR haben.

    Ausblick
    Falls sich das Konzept des Pastebin lohnen sollte, dann kann man die Anwendung ordentlich aufpimpen.
    Stichwort: Google Wave. Kollaboratives Problemlösen, bei dem jeder am geposteten Code herumarbeiten kann.
    Manche Pastebin bieten auch APIs an.

    Schattenseiten
    Wer prüft, dass die kopierte Werke kopiert werden dürfen? Hafter der Betreiber, wenn das kopierte Werk geschützt ist? Zwingt man die Besucher zur Registrierung, damit sie sich selbst haftbar machen? Schau mal die Änderungshistorie im Wiki durch... die Betreiber kommen und gehen.
    Was haben die, die es seit Jahren gibt anders gemacht? Schau dir mal pastebin.com an - ich weiß es nicht. Vielleicht hosten sie in einer rechtsfreien Zone oder die rechtlichen Probleme sind gar nicht so schlimm, wie man denkt ;)

    Ich hoffe ich habe dir ein paar Themenansätze geliefert.
    Ich persönlich bin übrigens auch kein Pastebin User. Werde ich im Instant Messenger nach Codepassagen gefragt, dann sollen Sie sich einfach in meinem Forum registrieren ;)
    Genau so würde ich mich auch freuen, wenn du deine fertige Arbeit später mal hier veröffentlichst ;)
  • Vielen Dank für Eure Antworten, das hilft mir schon sehr viel weiter, da sind einige Dinge dabei an die ich nie gedacht hätte, vorallem was die Motivation für solche Seiten angeht, die sich mir bislang gar nicht erschlossen hat. Bis ich fremden Code verstanden habe, brauche ich so lange, da kann ich ihn auch gleich selbst programmieren und Code zu verwenden den man nicht versteht mag zwar funktionieren, ist aber bedenklich wenn es um mögliche Bugs oder Security geht. Der Code könnte ja neben der gewünschten Funktionalität noch ganz andere Dinge anstellen.

    @mad
    Das mit der Analyse wollte ich anfangs auch erstmal machen, konnte dann aber keine Möglichkeit finden die Seiten objektiv zu bewerten um sie zu vergleichen zu können. Irgendwie sind für mich alle Seiten die ich mir angesehen habe gleich.

    Der Ansatz, woher der Begriff stammt klingt gut, ich werde mal google bemühen und hoffe da dann etwas zu finden, mir war der Begriff ja, bevor mir das Thema zugeteilt wurde, vollig unbekannt.

    @d0nut
    Die fertige Arbeit kann ich gerne hier veröffentlichen, immerhin habe ich durch mein Posting hier jetzt schon etwas mehr Hoffnung, dass die Sache ein positives Ende nehmen wird.
    Die Erfahrungen von jemandem der selbst mal so eine Seite gehostet hat sind natürlich sehr wertvoll.
  • Wichtig für einen Vergleich sind immer die Kriterien nach denen man vergleicht. Darf ich fragen, welche Seiten du dir angesehen hast?
    Vielleicht schaffen wir es, gemeinsam einige Kriterien aufzustellen. Eine spontane grobe Kategorisierung wäre:

    • Technologie (framework, server, programmiersprache, db)
    • Interface (alt, verstaubt, web2.0, ajax, funktionell...)
    • Community-Modell (offen, registriepflichtig, etc.)
    • Content-Modell (Umgang mit dem Inhalt: Aufbewahrung, Pflege, etc.)


    Sicher lassen sich die Punkte noch erweitern, das soll ja auch nur ein Denkanstoß sein. Zu den einzelnen Punkten könnte man dann einige einführende Worte schreiben und dann die verschiedenen Portale untersuchen.
  • @mad
    Erneut vielen Dank für deine Hilfe, an diese Kategorien hatte ich gar nicht gedacht, ich hatte nur an Usability Kategorien wie Suchfunktion und Auswahl der Programmiersprachen gedacht und das sind Dinge die fast alle Seiten haben. An technische Kriterien hatte ich aber wohl schon deshalb nicht gedacht, weil ich mich damit nicht auskenne. Wie ich also die verwendete Technologie oder das Content Modell rausfinde wüßte ich nicht.

    Die Seiten die ich gefunden und mir angesehen hatte waren:
    snipt.net
    snipplr.com
    snippets.dzone.com
    gist.github.com
    pastebin.com
    codesnippt.com
    siafoo.net/snippet
    en.wikibooks.org/wiki/Java_Programming/SwingLargeExamples
  • Was studierst du eigentlich bzw. in welchem Fach ist die Seminararbeit zu schreiben? Hab gerade gemerkt, dass ich ziemlich von meinem Standpunkt ausgegangen bin (Wirtschaftsinformatik).

    Das "Content Model" habe ich nur so betitelt. Eigentlich geht es nur darum zu untersuchen, wie mit Inhalt umgegangen wird. Das ganze kann man z.B. Content Model nennen, was aber sicherlich kein Fachbegriff ist.
    Die Technologie lässt sich einigermaßen einfach zusammenfassen:
    Wird eine bestimmte Software genutzt (Wiki, Forum etc.)? Die meisten veröffentlichen die Technologie, womit programmiert wurde.
    Ansonsten bekommt man über Impressum oder Autor meistens heraus, womit die Leute programmieren. Man kann dann versuchen auf die tatsächliche Technologie zu schließen. Eventuell kann man die Autoren auch einfach anschreiben. Die meisten sind recht kontaktfreudig =)
    Einiges lässt sich auch aus dem HTTP-Header lesen (Firefox-Addon: Live HTTP Headers)
  • @mad
    Ich studiere IT-Management, komme aber eher aus dem wirtschaftlichen Bereich, tue mir daher mit technischen Dingen, insbesondere programmieren, mitunter etwas schwer. Das wird im praktischen Teil dieser Arbeit, wo dann ein "einfacher" Prototyp einer solchen Plattform zu entwickeln ist noch schwierig genug werden.
    Ich hab mich da zwar schon etwas in Ruby On Rails eingelesen, wirklich verstehen tue ich das Ding aber noch nicht.
  • Ahja ok. Wird die Arbeit auch in einem managementlastigen Fach geschrieben? Oder kann man das nicht genau sagen? Wie viel Zeit hast du für die Arbeit?

    Für eine prototypische Umsetzung ist es immer wichtig, die Kernaspekte zu zeigen. Das heißt, du brauchst erstmal nur ein Formular, wo jemand Code eintragen und speichern kann. Dann muss eine URL erzeugt werden, die derjenige zum Veröffentlichen seines Snippets nutzen kann. Will man es schön haben, braucht man noch Syntax-Highlighting (gibt es etliche Bibliotheken) und den ganzen Komfort-Kram =)
    Je nachdem, welche Funktionen du einbauen magst, dauert es dementsprechend lang. Die Grundfunktionalität ist aber schnell aufgebaut.

    Ich arbeite mit Ruby on Rails (RoR) und sehe da keine Probleme. Wenn du allerdings keine oder wenig Vorkenntnisse hast, wird es länger dauern. Kannst du denn programmieren und wenn ja in welchen Sprachen?

    Bei RoR ließe sich das ganze sehr schnell realisieren, wenn du dahingehend Fragen hast, kannst du die gern im Unterforum für RoR stellen.
  • Leider kein Managementlastiges Fach, sondern eines wo um Webanwendungen geht. Daher eben auch die Aufgabe erstmal zu analysieren was es für eine bestimmte Task gibt und was nötig ist um sowas zu machen, und dann selbst so ein Ding zusammenzubasteln, wobei da sicher die Basisfunktionalität ausreichen wird, jedenfalls wenn man nicht gerade auf ein sehr gut aus ist und in diesem Fall bin ich schon froh wenn ich überhaupt positiv bin.
    Meine bisherige Überlegung geht daher dahin, dass die Anwendung eben eine Eingabemaske mit Eingabe des Codes sowie ev. noch Eingabemöglichkeiten für verwendete Sprache und ein paar Tags nach denen man dann suchen kann. Und dann eben eine Suchfunktion die nach Tags und Sprache Code finden kann. Syntax Highlighting wäre natürlich nett, aber wohl nur wenn es wirklich einfach machbar ist.

    Die Zeit wird leider knapp, da ich erstmal versucht habe das auf eigene Faust zu schaffen, mich in Ruby on Rails eingelesen habe, usw. und erst als ich dann eigentlich nicht wußte, was ich überhaupt schreiben soll, die Idee hatte mal im Internet nachzufragen. Allerdings hab ich derzeit nicht viel anderes zu tun, Prüfungen sind erstmal eh keine und beruflich habe ich mir jetzt eh erstmal Urlaub genommen um weiterzukommen. Ganz fertig werden werd ich in den 3 Wochen wohl nicht, aber ich hoffe mal zumindest einen größeren Teil hinzubekommen.

    Mit RoR hab ich keine Erfahrung, außer das ich mal ein wenig rumprobiert habe beim Durchschauen von ein RoR Büchern. Ansonsten habe ich bislang im Rahmen des Studiums im ersten Semester C und danach Java (bei uns die Hauptsprache) programmiert, allerdings bislang keine Websachen. RoR wurde mir daher auch nahegelegt weil es angeblich einfacher sein soll, vorallem in Hinblick auf die Verbindung mit der Datenbank ... einfach ist aber sicherlich relativ. :)

    Edit: In meiner Beschreibung des Prototypen habe ich vergessen, dass ev. auch noch ein Fenster für eine kurze Beschreibung was der Code macht bzw. worauf man achten sollte, dazukommen könnte.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Erich88 ()

  • Ja, es bleiben also nur wenige Wochen.
    Wenn du gar keine "Websprache" kannst, dann solltest du wirklich RoR oder PHP nutzen. Ich persönlich empfehle RoR, viele andere hier wahrscheinlich PHP. Entscheiden musst du dich da selbst.
    Ist dir denn das MVC-Muster ein Begriff?

    Falls du dich für Ruby entscheidest, können wir das Konzept und die Programmierung mal im RoR Forum durchgehen...
  • Model-View-Controller ist mir natürlich ein Begriff, ich habe mich ja wie gesagt schon etwas in RoR eingelesen (was nicht heisst, dass ich auch alles verstanden habe) und zudem haben wir auch eine Vorlesung über Design Patterns gehabt wo das behandelt wurde.

    Da ich von PHP überhaupt nichts weiss, werde ich mich auf jeden Fall für RoR entscheiden, da habe ich zumindest schonmal ein paar Dinge drüber gelesen und auch schon versucht eclipse mit RadRails zu erweitern um etwas zu haben wo ich das Ding programmieren kann. Ich hoffe, dass das funktionieren wird.
  • Ich habe jetzt mal die Analyse der Seiten durch, das bringt mir aber leider nur wenige Seiten, sodass noch ein Haufen Arbeit vor mir liegt wenn ich rechtzeitig fertig werden will, aber leider weiss ich im Moment nicht wie ich weiter machen soll.
    Daher habe ich auch begonnen mich mit dem Prototypen zu beschäftigen und auch mads Rat befolgt dafür ein Topic im RoR Forum zu eröffnen. Das ganze auch im Hinblick darauf, dass ich eventuell die Beschreibung des Prototypen und dessen Erstellung mit in die Arbeit nehmen kann und so einige Seiten gewinnen kann. Falls es sonst noch Ideen gibt worüber ich noch schreiben kann, ich bin für alles offen, vorallem da ich inzwischen doch Angst habe nicht zu bestehen und damit ein ganzes Jahr zu verlieren. :(
  • truespin schrieb:

    hört sich alles sehr interessant an und ich würde mich auch freun das ganze mal lesen zu dürfen.
    ich weiß nicht... warum nicht auch etwas über die community, user und anbieter zu schreiben? über die motivation der einzelnen gruppen.


    Grundsätzlich keine schlechte Idee, aber als Nicht-Programmierer weiß ich dazu nur, was oben bereits geschrieben ist und das ist relativ wenig. Für weiteren Input bin ich aber natürlich dankbar.
  • Da ich mit der Arbeit in die hoffentlich letzte Runde gehe und gerade nochmal diesen Bereich meiner Arbeit überarbeite sind noch zwei Frage an die Programmierer unter euch aufgetaucht:

    - Verwendet Ihr Copy & Paste Programming, also nutzt ihr Code aus dem Internet oder anderen quellen oder schreibt ihr alles selbst?
    - Wenn Ja, warum?, wenn Nein, warum nicht? also welche Vor- bzw. Nachteile seht ihr bei der Nutzung von Code Snippets bzw. Copy & Paste Programming.

    Als jemand der kaum Programmiererfahrung hat und nur ein paar Grundkenntnisse besitzt fällt es mir schwer das zu beurteilen, daher hätten mich die Meinungen von erfahreneren Leuten interessiert.

    Vielen Dank für Eure Antworten.

    LG
    Erich
  • Erich88 schrieb:

    Da ich mit der Arbeit in die hoffentlich letzte Runde gehe und gerade nochmal diesen Bereich meiner Arbeit überarbeite sind noch zwei Frage an die Programmierer unter euch aufgetaucht:

    - Verwendet Ihr Copy & Paste Programming, also nutzt ihr Code aus dem Internet oder anderen quellen oder schreibt ihr alles selbst?
    - Wenn Ja, warum?, wenn Nein, warum nicht? also welche Vor- bzw. Nachteile seht ihr bei der Nutzung von Code Snippets bzw. Copy & Paste Programming.

    Als jemand der kaum Programmiererfahrung hat und nur ein paar Grundkenntnisse besitzt fällt es mir schwer das zu beurteilen, daher hätten mich die Meinungen von erfahreneren Leuten interessiert.

    Vielen Dank für Eure Antworten.

    LG
    Erich


    Es kommt sicherlich mal vor das ein Entwickler sich ein Snippet kopiert. Das kann entweder passieren wenn er
    a) Der Entwickler eine Anweisung überhaupt nicht kennt, diese im Internet findet und mal kurz ausprobieren will.
    b) Der Entwickler arg faul ist und meint das wird schon stimmen (eher schlechte Variante)
    c) Sich zwar alles kopiert aber vieles wieder löscht und nur das behält was er brauch... naja das nennen wir mal "Teilfaulheit" :D
    d) Der Entwickler anderen bei einem Problem helfen möchte und eben genau seinen Code braucht.

    Das sind so die Dinge die mir spontan einfallen. Ansonsten kommt es wohl auch oft vor das jemand den Code überhaupt nicht kopiert sondern nur die Idee braucht.

    Hoffe es hilft ;)
  • hallo,

    ich glaube jeder hier im forum hat schon mal einfach was kopiert und verwendet!
    wobei ich versuche das kopierte auch zu verstehen (kann natürlich nur für mich sprechen). meistens findet man aber garkeine allgemeingültige lösung für ein problem, sondern man muss immer etwas anpassen das es für die problemstellung passt! auch in sog. kochbüchern findet man meiner meinung nach hauptsächlich ideen bzw. ansätze die einem dann zur lösung weiterhelfen.

    thx, truespin