8 einfache Tricks zur Steigerung der Codierungseffizienz

Wenn Sie einen Dienst über einen Link auf dieser Seite abonnieren, verdient Reeves and Sons Limited möglicherweise eine Provision. Siehe unsere Ethikerklärung.

Unter Software-Herausgebern ist ein seltsames Phänomen aufgetreten. Es scheint eine Tendenz zu geben, dass Menschen ihr Verständnis davon, was ein Qualitätsprodukt besser macht, umkehren, oder zumindest gilt dies für diejenigen, die das Marketing betreiben. Es geht ungefähr so: „Ihr Produkt hat eine Million Codezeilen, aber unseres hat zwei Millionen, also muss unser Produkt besser sein.“

Niemand weiß, woher dieses „Mehr ist mehr“-Denken kam, als damals alle so hart daran arbeiteten, eine „Weniger ist mehr“-Philosophie zu entwickeln. Wahrscheinlich begann es mit konsumentenorientiertem Journalismus, denn viele Autoren versuchen, ihr Publikum zu beeindrucken, indem sie große Zahlen zitieren. Bei den meisten Dingen funktioniert das – dieses winzige Flash-Laufwerk fasst 200 Terabyte an Daten, die CPU kann 48 Milliarden Anweisungen pro Sekunde verarbeiten – und Autoren sind nicht immer technisch versiert genug, um zu verstehen, dass das Gleiche nicht für Quellcode gilt.

Bei der Effizienz beim Codieren geht es jedoch nicht nur um die Erstellung präziser Algorithmen. Es geht auch darum, Abfall reduzieren zu können. Das bedeutet Verschwendung im Hinblick darauf, wie viel Zeit Sie mit der Behebung von Problemen verbringen, Verschwendung im Hinblick auf den Verbrauch zu vieler Computerressourcen und sogar Verschwendung im Hinblick darauf, wie viele Pizzakartons Ihr Team bis zum Ende der Woche im Büro gestapelt hat. Idealerweise möchten Sie all diese Dinge reduzieren.

In diesem Artikel werfen wir einen Blick auf die Dinge, die Sie tun können, um die Effizienz zu verbessern und die Produktivität zu steigern.

1. Bauen Sie eine förderliche Arbeitsumgebung auf

Jeder Kodierer arbeitet unter einzigartigen Umständen, und unsere Leser sind sehr unterschiedlich. Daher ist es für einige von Ihnen einfacher, diese Vorschläge umzusetzen als für andere.

Wenn Sie Freiberufler sind, herzlichen Glückwunsch, denn Sie beherrschen bereits Ihr eigenes Arbeitsumfeld. Natürlich wird sich das ändern, wenn man einen Kunden besucht und vor Ort arbeiten muss, aber es ist immer noch eine schöne Position, wenn man damit Erfolg haben kann.

Wenn Sie Leiter eines Entwicklungsteams sind, können diese Vorschläge auch dabei helfen, die Effizienz Ihres Teams zu maximieren. Oder wenn Sie in einem Entwicklungsteam arbeiten, möchten Sie vielleicht einige dieser Ideen Ihrem Vorgesetzten vorschlagen oder ihm oder ihr zumindest einen Link zu dieser Seite schicken und auf das Beste hoffen.

Erlauben Sie den Teammitgliedern die Telearbeit

Programmieren ist zum Teil eine Übung in Logik, aber noch mehr eine kreative Herausforderung. Die besten Programmierer können bei jeder Aufgabe beide Seiten ihres Gehirns gleichermaßen einsetzen. Die Wissenschaft hat schon lange erkannt, dass kreative Menschen nachts ihre beste Arbeit leisten, und das haben wir alle schon einmal erlebt. Warum bestehen die meisten Manager auf einer traditionellen 9-bis-5-Uhr-Routine?

Eigentlich kennen wir die Antwort darauf bereits. Es geht zum Teil um Kontrolle und zum Teil darum, die Dinge aus geschäftlicher Sicht (oder zumindest aus Managementsicht) komfortabler zu gestalten. Aber dieses Beharren auf Routine und Standort schadet der Effizienz und Produktivität des Teams.

Sie müssen sich darüber im Klaren sein, dass Ihre Programmierer wahrscheinlich die ganze Nacht wach waren, um das neueste Spiel auszuprobieren, vielleicht auf eine Party gegangen sind oder einfach nur Zeit mit der Familie verbringen mussten. Das bedeutet, dass sie, wenn sie am Montagmorgen zur Arbeit erscheinen, nicht nur nicht ihre maximale Produktivität erreichen, sondern sie auch bereits energielos und hundemüde sind.

Den Arbeitnehmern die Wahl zu lassen, wann und idealerweise auch wo sie arbeiten, ist eine hervorragende Möglichkeit, Produktivität und Arbeitsmoral zu verbessern. Solange sie die Arbeit erledigen und qualitativ hochwertige Ergebnisse liefern, sollte es Ihnen egal sein, wann, wo oder wie sie die Arbeit erledigen.

Die Ausnahme ist, wenn eine enge Zusammenarbeit erforderlich ist, aber in Wahrheit schneiden die meisten Programmierer besser ab, wenn sie die Dinge auf ihre eigene Weise erledigen, und eine enge Zusammenarbeit ist selten erforderlich. Die Möglichkeit, ins Büro zu kommen, sollte immer noch bestehen, aber es gibt keinen realistischen Grund, warum dies erforderlich sein sollte, es sei denn, Sie arbeiten an streng geheimen Militärprojekten.

Als Freiberufler können Sie hier auch erkennen, dass der entscheidende Punkt darin besteht, dass Sie wahrscheinlich mehr erledigen, wenn Sie den Großteil Ihrer eigentlichen Programmierarbeit nachts erledigen. Spätabends gibt es weniger Ablenkungen, es ist ruhiger und Sie fühlen sich kreativer.

Vermeide Musik

Wir haben alle diese verrückten Filmstereotypen gesehen, in denen ein superschmuddeliger Überhacker seine Kopfhörer aufsetzt und zu Death-Metal mitjammt, während er mühelos Bildschirme voller Code produziert, ohne auch nur eine Atempause einzulegen. Und alle von uns, die wirklich in der realen Welt programmieren, wissen, wie lächerlich dieses Bild ist.

Wenn Sie jedoch während der Arbeit Musik hören, sollten Sie vorsichtig sein. Es ist ziemlich leicht, dass man an die Musik und nicht an die Arbeit denkt, und manche Arten von Musik können eine einschläfernde Wirkung haben. Wenn Sie im Fitnessstudio trainieren, kann die richtige Musik Sie dazu inspirieren, ein paar zusätzliche Wiederholungen zu absolvieren. Aber es ist noch niemandem gelungen, Musik zu machen, die Sie dazu inspiriert, die Zeile mit dem fehlenden Semikolon zu finden oder die richtige Wahl zwischen der Verwendung einer for-Schleife oder einer while-Schleife zu treffen. Das Beste, was wir je erreicht haben, ist Electric Dreams.

Versuchen Sie, aufgeräumt zu bleiben

Unordnung kann seltsam beruhigend sein, aber sie kann Sie auch ausbremsen. Es kann leicht passieren, dass Sie 20 Minuten damit verlieren, nach etwas zu suchen, das im Chaos verloren gegangen ist, und dann vergessen, warum Sie es überhaupt haben wollten.

Warum sind wir – zumindest einige von uns – trotz all der Unannehmlichkeiten, die es verursacht, so süchtig nach Unordnung? Die Organisationsexpertin und Autorin Julie Morgenstern behauptet, das liege daran, dass uns diese Dinge mit unserer Vergangenheit verbinden und eine Rolle bei der Definition unserer Identität spielen. Marcus Geduld, ein in New York City ansässiger Lehrer und Regisseur, vermutet, dass dies daran liegt, dass Unordnung einer „sterilen“ Umgebung vorzuziehen ist, und vergleicht das Chaos der Unordnung mit einer affirmFreiheit und Kreativität.

Es besteht jedoch kein Zweifel daran, dass die Reduzierung von Unordnung dabei hilft, Ablenkung und Desorganisation zu vermeiden. Daher ist es ein lohnenswertes Ziel, das erreicht werden muss. Halten Sie auf jeden Fall ein paar heilige Gegenstände bereit, damit Sie sich besser fühlen und weniger gestresst sind, aber übertreiben Sie es nicht. Aufräumen ist für die meisten Menschen eine der schwierigsten Aufgaben, und das betrifft nicht nur unsere körperliche Verfassung desktops, die entrümpelt werden müssen, aber oft unser Computer desktops auch. Wenn Sie damit wirklich Probleme haben, können Sie versuchen, ein minimalistisches DTE wie Fluxbox zu verwenden, bei dem es nicht wirklich zu Unordnung kommt.

Aber bei all dem Aufräumen sollten Sie es nicht übertreiben. Es gibt viele gute wissenschaftliche Erkenntnisse, die darauf hinweisen, dass ein wenig Chaos in der Umwelt tatsächlich der Kreativität förderlich sein kann. Einer der am häufigsten zitierten Forschungsergebnisse zu diesem Thema ist ein Zeitschrifteneintrag in Psychological Science von Vohs, Redden & Rahinel für die University of Minnesota mit dem Titel Körperliche Ordnung erzeugt gesunde Entscheidungen, Großzügigkeit und Konventionalität, während Unordnung Kreativität erzeugt. Der Grund, warum sich die Papierjournalisten daran festhalten, ist wahrscheinlich, dass daraus eindeutig der Schluss gezogen wird: „… Teilnehmer in einem ungeordneten Raum waren kreativer als Teilnehmer in einem ordentlichen Raum.“

Viel weniger populär sind abweichende Meinungen wie Umweltstörung führt zu Selbstregulierungsversagen (Chaye & Zhu, 2014), veröffentlicht im Journal of Consumer Research. Diese Studie ergab, dass Menschen, die in ungeordneten Umgebungen arbeiten, in ihrer Fähigkeit, Aufgaben auszuführen, beeinträchtigt sind.

Wohin führt dich das? Sollten Sie im Chaos oder in der Sterilität arbeiten? Die Antwort scheint darin zu liegen, ein Gleichgewicht zu finden, bei dem es gerade chaotisch genug ist, um Sie zu inspirieren, aber nicht so sehr, dass Sie abgelenkt werden oder Schwierigkeiten haben, Dinge zu finden.

Lassen Sie etwas Raum für Sie, um Ihre Gedanken zu vertreiben

Es ist eine gute Idee, genügend Platz zum Herumwandern zu haben, wenn Sie nachdenken. Viele der besten Admirale und Generäle der Geschichte waren dafür bekannt, dass sie viel Zeit damit verbrachten, auf dem Deck auf und ab zu gehen und Schlachtstrategien zu planen.

Nicht nur kämpfende Männer folgen dieser Praxis. Viele buddhistische Mönche befürworten auch eine „wandelnde Meditation“ und glauben, dass sie zur Klarheit des Geistes beiträgt. Wann immer Sie ein besonders knorriges Programmierproblem zu lösen haben, kann es hilfreich sein, Ihre Beine bei einem meditativen Spaziergang um das Deck ein wenig zu strecken. Natürlich hilft Ihnen auch hier ein Mangel an Unordnung dabei, ohne im Krankenhaus zu landen.

Seien Sie als Chef vorsichtig bei der Kritik kreativer Bemühungen

An konstruktiver Kritik ist nichts auszusetzen, aber Sie müssen den richtigen Moment wählen und auf die richtige Art und Weise damit umgehen, sonst kann es nach hinten losgehen und die Produktivität Ihrer Mitarbeiter in der Zukunft beeinträchtigen. Anstatt sie zu inspirieren und Einsichten zu vermitteln, kann es sein, dass Sie ihnen Angst davor machen, Risiken einzugehen, was eine gute Möglichkeit ist, die Kreativität zu zerstören. Marieke Roskes, in Einschränkungen, die die kreative Leistung beeinträchtigen oder behindern: Ein motivationaler Ansatz, bietet einen Rahmen für den Umgang mit der Motivation von Kreativen und insbesondere auch, um zu vermeiden, dass sie unbeabsichtigt demotiviert werden (Creativity & Innovation Management, Band 24, Iss 2, 2015).

2. Etabliere eine gute SOP

Es gibt viele eingängige Trends in der Unternehmensführung und in der Programmierung, die in der Theorie viel sinnvoller klingen, als sie sich in der Praxis herausstellen. Ob ein bestimmter Ansatz für Sie funktioniert oder nicht, hängt von Ihrem Ziel ab und davon, was Sie persönlich als erfolgreiches Ergebnis betrachten.

Ein Beispiel für eine Methodik, für die ein Unternehmen, für das ich gearbeitet habe, ausprobiert hat - und ebenso schnell abgeworfen wurde - ist die Paarprogrammierung (nicht zu verwechseln mit der PEAR-Programmierung). Während einige Leute diese Arbeitsmethodik wirklich bewundern und ihren Platz im agilen Entwicklungsparadigma preisen, stellten wir fest, dass sie äußerst ineffizient war. Zunächst einmal waren für jeden Arbeitsplatz zwei Programmierer erforderlich, so dass Sie für weniger Entwicklungsaufwand doppelt so viel zahlten. Wir fanden auch, dass es aufgrund des häufigen Stop / Start-Flusses und der Tendenz zu unnötigem Dialog viel langsamer war.

Die Vorteile der Paarprogrammierung bestanden darin, dass sie zu einer natürlicheren und strengeren Dokumentation führte. Dadurch konnten Fehler leichter erkannt und Vorschläge zur Verbesserung eines Algorithmus gemacht werden. Gleichzeitig führten die gleichen Vorteile aber auch zu Problemen, da die Optimierungen und Anpassungen manchmal nicht wirklich notwendig waren.

Ein weiteres Risiko bei diesem Ansatz besteht darin, dass Sie den von Roskes identifizierten Effekt erzielen können, bei dem Programmierer möglicherweise zögern, Dinge auszuprobieren, weil sie keine Korrektur wünschen. Möglicherweise kommt es zu Persönlichkeitskonflikten, wenn ein Entwickler sehr pedantisch und traditionell ist, der andere jedoch kreativer und spontaner.

Programmierer geben oft an, dass sie Paarprogrammierung bevorzugen. Möglicherweise liegt das daran, dass ihnen die damit verbundene soziale Interaktion Spaß macht, aber das trägt nicht zur Effizienz der Produktion bei, außer vielleicht als Moralverstärker.

Sie müssen also feststellen, was für Ihre Entwickler tatsächlich funktioniert und was nicht. Die Dinge, die nicht funktionieren, sollten besser verworfen werden, selbst wenn sie eine stark im Trend liegende Praxis sind. Was dem Team hilft, schnell Fortschritte zu machen, ist eine gute Sache. Aber wenn sie mit einer Methodik belastet werden, die nicht zu ihrem Stil passt, wird das irgendwann zu Problemen führen.

3. Ermutigen Sie die ausführliche Dokumentation

Es mag den Anschein haben, dass die Ausführlichkeit die Ineffizienz erhöhen würde, aber die kurze Zeit, die benötigt wird, um mehr Details und Präzision in den Kommentaren zu geben, kann eine Menge Ärger ersparen, wenn das Projekt durchläuft oder Revisionen durchläuft.

4. Vermeiden Sie unnötige Unterlagen

Gut geschriebener Code ist oft selbstdokumentierend. Wenn anhand des Namens, den Sie ihr geben, völlig klar ist, was eine Funktion tut (was fast immer der Fall sein sollte), ist das Hinzufügen weiterer Beschreibungen überflüssig. Das Gleiche gilt für die Benennung von Variablen und die Rückgabewerte. Aus dem Namen sollte klar hervorgehen, was sie tun, und in den Fällen, in denen dies nicht möglich ist, sollten Sie in den Kommentaren eine Beschreibung davon hinzufügen.

5. Leerraum ist dein Freund

Die richtige Verwendung von Leerzeichen in Ihrem Code trägt dazu bei, Code leichter lesbar, übersichtlich und verständlich zu machen. Es geht Hand in Hand mit gutem dokumentierendem und selbstdokumentierendem Code. Jeder erfahrene Programmierer - oder vielleicht sogar ein Nichtprogrammierer - sollte in der Lage sein, eine Kopie Ihres Quellcodes zu erhalten und sofort zu verstehen, was der Zweck jeder Funktion ist und wie sie funktioniert. Im Idealfall sollte jemand in der Lage sein, aus nichts anderem zu lernen, als Ihren gut geschriebenen Code zu studieren.

6. Ziehen Sie die Einfachheit der Komplexität vor

Je komplexer Sie Ihren Code erstellen, desto schwieriger kann es sein, ihn zu entwirren. Ironischerweise gilt dies für das Programmieren von Kurzbefehlen, z. B. die Verwendung von Abkürzungskonditionen, anstatt sie vollständig auszuschreiben. Sie sparen Zeit beim Schreiben, aber ein weniger erfahrener Programmierer, der später Ihren Code überprüft, kann Ihre Absicht möglicherweise nicht verstehen.

7. Testen Sie ausführlich

Code sollte inkrementell und häufig getestet werden. Bevor Sie irgendetwas bereitstellen, sollten Sie so viele interne Tests wie möglich durchführen, auch wenn Ihre erste Version als Alpha gekennzeichnet ist.

8. Verwenden Sie die Versionskontrolle

Man müsste verrückt sein, wenn man bei einem Großprojekt keine Versionskontrolle verwenden würde. Ohne sie sind Sie nicht vor Ihren eigenen kleinen Fehlern geschützt, und außerdem kann ein anderes Teammitglied Ihren Code versehentlich (oder absichtlich) sabotieren, indem es ihn mit etwas überschreibt, das Ihnen nicht gefällt.

Wenn Sie diese acht Schlüsselvorschläge berücksichtigen, können Sie Ihre eigene Strategie entwickeln, um für Sie und alle Teammitglieder, mit denen Sie zusammenarbeiten, die größtmögliche Effizienz zu erzielen. Sie müssen nicht unbedingt alle davon anwenden, und sicherlich sind einige möglicherweise nicht einmal für Sie praktikabel, aber jede Kombination davon wird wahrscheinlich dazu führen, dass Sie Ihre Arbeit mit weniger Aufwand erledigen. Ein produktiverer Arbeitsablauf wird sich mit der Zeit auszahlen, selbst wenn es nur darum geht, Stress abzubauen und Ihnen mehr Zeit für sich selbst zu geben. Das ist ein Ziel, auf das es sich zu arbeiten lohnt.

Bogdan Rancea

Bogdan ist Gründungsmitglied von Inspired Mag und hat in diesem Zeitraum fast 6-Jahre Erfahrung gesammelt. In seiner Freizeit studiert er gern klassische Musik und erforscht die bildende Kunst. Er ist auch ziemlich besessen von Fixies. Er besitzt bereits 5.

Kommentare 0 Antworten

Hinterlassen Sie uns einen Kommentar

E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind MIT * gekennzeichnet. *

Rating *

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.