Überdenke die Verwendung von Code Snippets!

ich möchte zum Nachdenken oder einer Diskussion anregen: die Kultur der Snippets und ihre Verwendung. Mein Standpunkt soll als Start in die Überlegung dienen und hat keine Bestrebung in Richtung Vollständigkeit und zu Ende gedacht.

Mein Blog ist sicher eines der vielen Sites im Netz, das in einer gewissen Form Code-Snippets veröffentlicht – davon gibt es zu Hauf, egal ob eigene Ideen oder Copy/Paste Version. Aber darüber möchte ich hier keine Worte verlieren - ich möchte zum Nachdenken oder einer Diskussion anregen: die Kultur der Snippets und ihre Verwendung. Mein Standpunkt soll als Start in die Überlegung dienen und hat keine Bestrebung in Richtung Vollständigkeit und zu Ende gedacht.
Mit ist klar, dass meine Meinung eben nur meine Sicht ist und aktuell habe ich dazu keine Diskussion im engeren Kreis geführt; kenne aber die Arbeit im Alltag mit den Freunden, Kollegen und nahe stehenden Entwicklern im WordPress Umfeld.

Mein Standpunkt wird sicher sehr WordPress getrieben sein, da ich mich sehr stark in diesem Umfeld bewege und man verzeihe mir die Einschränkung. Aber so spreche ich sicher einen Großteil der Leser meines Blogs an und kann eventuell ein Nachdenke oder gar Umdenken erreichen. Insbesondere ziele ich auf die Anwender ab, die meinen, dass wenn Sie sämtliche Funktionen irgendwo unüberlegt kopieren und in die functions.php des WordPress Themes ziehen, dass Sie eine besonderes tolle Lösung haben. Ein Schnipsel, ein Snippet ist mehr als die Lösung zum Verwenden, es ist die Basis um eine Ziel schneller zu erreichen – es ist nicht die fertige Lösung für die jeweilige Anforderung.

Snippets überdenken


Jeder der viel zeit mit Code verbringt und Lösungen erstellt, insbesondere wenn er dass mehr oder weniger allein tun, schmort im eigenen Saft, eignet sich Eigenarten an und wiederholt Fehler und Denkweisen. Die alltägliche Arbeit kann durch die Nutzung von Schnipseln erleichtern werden - führen sie doch oft zu der gesuchten Lösung und können entweder das Endergebnis sein oder ein Teil eines entstehenden Etwas. Dabei geht vermutlich jeder Entwickler etwas anders vor. Während dem einen die Variante des Schnipsels genügt und er via Copy/Paste die Lösung übernimmt, überdenkt der Andere die Lösung, lernt daraus, verbessert sie oder kommt damit zu einer Lösung im Sinne seiner Anforderung.

Gerade letzteres ist meine Grundidee beim Bereitstellen von Snippets - ich löse diverse Probleme wöchentlich und mehr, trotz der bisher noch immer nebenberuflichen Tätigkeit im Webumfeld. Die Freunde müssen dabei fast täglich ran und eine Lösung finden. Die bereitgestellten Lösungen sollen zum Nachdenken anregen und zur Lösungsfindung beitragen. Je besser man das eigene System kennt, je besser kann man die Anforderungen im Hinblick auf eine gesamtheitliche Lösung für das Basissystem und das Ziel umsetzen. Das pure Copy/Paste-Verhalten sorgt meines Erachtens für Stillstand und unüberlegtes Handeln. Ohne eine Überlegung dazu wird die vorgestellte Lösung implementiert. Insofern versuche ich auch jedes Snippet mit etwas Erläuterung anzureichern und für Verständnis zu sorgen: Warum habe ich so gehandelt? Warum diese Lösung? Man soll sich selbst zum Lernen und dem Verständnis zwingen und so den eigenen Horizont erweitern.

Dabei ist mir ein Austausch sehr wichtig, darum auch öffentlich. Mir ist klar, dass meine Lösung nur im Rahmen meiner Möglichkeiten entstehen kann. Ich bin im Hinblick auf das Web, WordPress und das Programmieren ein Autodidakt, habe nie eine Unterrichtsstunde zu diesen Themen besucht, es sei denn als Unterrichtender. Das Lernen kam immer aus eigenem Antrieb und der Kritik und dem Austausch mit Freunden und Lesern. Das Blog ist sicher eine wunderbare Quelle für den nachweis meines Lernens und gerade meine Plugins für WordPress spiegeln dies wieder; würde ich viele Sachen heute nicht mehr so schreiben, wie noch in den ersten Plugins. Die Lernkurve ist hoffentlich ersichtlich und gerade die vielen Eindrücke, Erfahrungen und Diskussionen machen meine Idee, so glaube ich, im Kundenumfeld so gefragt. Die Erfahrung macht am Ende einen Großteil der Lösung aus.

Codebasteleien
Code-Schnipsel sind in vielen Blogs zu diversen Themen abgelegt, immer im Hinblick auf den aktuellen Wissenstand und die Zielsetzung des Autors. Darum gehören sie überdacht und auf Gültigkeit geprüft. Sei es um dem eigenen Codingstandard recht zu werden, das explizite Ziel der Anforderung zu erreichen oder eine bessere Lösung zu erstellen.
Ich will Snippets nicht verteufeln, ganz im Gegenteil - teilt eure Ideen und Lösungen, diskutiert sie und seit offen für Verbesserungen! Nur so kann man aus meiner Sicht und Erfahrung zu besseren Lösungen kommen. Fehler sind menschlich - sie sind Teil von uns und wer keine Fehler macht, dem sind einfach die Aufgaben zu gering und die Herausforderung fehlt.

Ich möchte die Leser anregen über das pure Copy/Paste-Verhalten nachzudenken, eventuell umzudenken und beim Veröffentlichen von Schnipseln hier und da einige Worte dazu hinterlegen, so dass der Leser eine Möglichkeit hat, die Lösung zu verstehen und aktiv zu nutzen. Die ständige Verwendung von Schnipseln ohne den geist zerstören die Qualität der Lösung, sorgen für Unsicherheit -, stören die Stabilität im System und machen das Finden von Fehlern schwer.

Im Hinblick auf WordPress und dessen Plugin-API gibt es hier weit mehr auszuholen, aber dann wird es viel und liest das noch jemand? Überdenke gerade im Hinblick auf WordPress die Copy/Paste-Kultur von Snippets, trenne sauber zwischen den Funktionen für das Theme und als Erweiterung für das Gesamtsystem mittels eines Plugins. Thomas hat dazu gerade ein wenig ausgeholt und die Zahl der Plugins in einer WordPress Installation ist keine Aussage zur Qualität! Die Performance des Blogs hängt nicht von der Anzahl der Plugins ab, da gehört weit mehr dazu. Insbesondere die Fehlersuche kann mit Plugins vereinfacht werden, da man über die Oberfläche oder via FTP recht einfach deaktivieren kann - insofern man die einzelnen Funktionen sauber trennt.

Also - auf eine neues im Denken zu Snippets und dessen Verwendung im täglichen Arbeiten im Web oder auch nur im Hobby. Gerade die Applikation und die Arbeit damit wird es danken, der Kunde ebenso.
Bildquelle: Puzzle im Kopf

Hinweis Session zum WordCamp Schweiz

Philip Hetjens wird zu diesem Thema die Session Ein Rant über Snippets auf dem WordCamp am 7. Mai 2011 in der Schweiz halten. Sicher ein schönes Thema zum Diskutieren und Einsichten gewinnen.

Kommentare sind geschlossen.