Unter Softwareherstellern 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 trifft dies zu, wenn es um diejenigen geht, die das Marketing betreiben.
Es geht in etwa 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 Codierung geht es jedoch nicht nur darum, enge Algorithmen zu erstellen. Es geht auch darum, Abfall zu reduzieren. Dies bedeutet Verschwendung in Bezug auf die Zeit, die Sie für die Behebung von Problemen aufwenden, die Verschwendung von zu vielen Computerressourcen und sogar die Verschwendung der Anzahl der Pizzakartons, die Ihr Team bis Ende der Woche im Büro gestapelt hat. Idealerweise möchten Sie all diese Dinge einschränken.
So verbessern Sie die Codierungseffizienz in 8 einfachen Schritten
Was wir also in diesem Artikel betrachten werden, werden die Dinge sein, die Sie zur Verbesserung der Effizienz und Steigerung der Produktivität tun könnten.
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 freiberuflich tätig sind, herzlichen Glückwunsch, denn Sie beherrschen bereits Ihre eigene Arbeitsumgebung. Natürlich wird sich dies ändern, wenn Sie einen Kunden besuchen und vor Ort arbeiten müssen, aber es ist immer noch eine gute Position, wenn Sie Erfolg haben.
Wenn Sie Manager eines Entwicklungsteams sind, können diese Vorschläge auch dazu beitragen, dass Ihr Team maximale Effizienz erreicht. Wenn Sie in einem Entwicklungsteam arbeiten, können Sie Ihrem Vorgesetzten einige dieser Ideen vorschlagen oder ihm zumindest einen Link zu dieser Seite senden 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 wissen wir bereits die Antwort darauf. Teilweise geht es um Kontrolle, und teilweise geht es darum, Dinge aus betriebswirtschaftlicher Sicht (oder zumindest aus Managementsicht) bequemer zu gestalten. Dieses Beharren auf Routine und Standort beeinträchtigt jedoch die 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.
Wenn den Arbeitnehmern die Wahl bleibt, wann sie arbeiten - und im Idealfall auch wo -, ist dies ein hervorragender Weg, um Produktivität und Moral zu verbessern. Solange sie die Arbeit erledigen und hervorragende Qualitätsergebnisse erzielen, sollten Sie sich nicht darum kümmern, wann, wo oder wie sie dies erreichen.
Die Ausnahme ist, wenn eine enge Zusammenarbeit erforderlich ist. In Wahrheit schneiden die meisten Programmierer jedoch 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 auch feststellen, dass hier der Schlüsselpunkt ist, dass Sie, wenn Sie den größten Teil Ihrer eigentlichen Codierungsarbeit nachts erledigen, wahrscheinlich mehr erledigen werden. Es gibt weniger Ablenkungen am späten Abend, es ist ruhiger und Sie fühlen sich kreativer.
Vermeide Musik
Wir haben alle diese verrückten Filmstereotypen gesehen, bei denen ein übergräberischer Überhacker Kopfhörer und Death Metal zum Death-Metal steckt, während er mühelos Bildschirm-Code ausspuckt, ohne dabei zu atmen. Und wir alle, 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 kann leicht passieren, 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 machen. Aber es ist noch niemandem gelungen, Musik zu schaffen, 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 merkwürdig tröstlich sein, aber es kann Sie auch verlangsamen. Sie können leicht 20-Minuten verlieren, wenn Sie nach etwas suchen, das im Chaos verloren gegangen ist, und dann vergessen, warum Sie es überhaupt 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 lebender Lehrer und Bühnenregisseur, vermutet, dass dies daran liegt, dass Unordnung einer „sterilen“ Umgebung vorzuziehen sei, und vergleicht das Chaos der Unordnung mit einer Bestätigung von Freiheit 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.
Behalten Sie auf jeden Fall ein paar heilige Gegenstände, die Ihnen ein besseres Gefühl geben und Sie weniger gestresst machen, aber übertreiben Sie es nicht. Aufräumen ist für die meisten Menschen eine der schwierigsten Aufgaben, und es sind nicht nur unsere physischen Schreibtische, die aufgeräumt werden müssen, sondern oft auch unsere Computer-Desktops.
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 gehen Sie bei all dem Aufräumen nicht über Bord. Es gibt eine Menge guter Wissenschaft, die nahe legt, dass ein bisschen Chaos in der Umgebung der Kreativität förderlich sein kann. Eine der am häufigsten zitierten Forschungsarbeiten dazu ist ein Journaleintrag von Vohs, Redden & Rahinel für die University of Minnesota in Psychological Science 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.
Wo bleibt dich das? Sollten Sie im Chaos oder in der Sterilität arbeiten? Die Antwort scheint zu sein, ein Gleichgewicht zu finden, in dem es einfach 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, viel Raum zum Wandern zu haben, wenn Sie überlegen. Viele der besten Admirale und Generäle der Geschichte waren für ihre lange Zeit bekannt, die sie während der Planung von Kampfstrategien auf dem Deck verbrachten.
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 darauf eingehen, oder er kann nach hinten losgehen, indem Sie Ihre Mitarbeiter in Zukunft weniger produktiv machen. Anstatt sie zu inspirieren und Einblicke zu geben, können Sie sie tatsächlich fürchten, Risiken einzugehen. Dies ist ein guter Weg, um die Kreativität auszuschalten. 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 im Business Management und in der Programmierprozedur, die theoretisch viel sinnvoller klingen, als 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 für ein erfolgreiches Ergebnis halten.
Ein Beispiel für eine Methodik, die ein Unternehmen, für das ich gearbeitet habe, ausprobiert und ebenso schnell wieder aufgegeben hat, ist die Paarprogrammierung (nicht zu verwechseln mit der PEAR-Programmierung).
Während einige Leute diese Arbeitsmethodik wirklich bewundern und ihren Platz im agilen Entwicklungsparadigma loben, fanden wir, dass sie furchtbar ineffizient war.
Zunächst waren zwei Programmierer für jede Workstation erforderlich, sodass Sie für weniger tatsächliche Entwicklungsarbeit doppelt so viel bezahlten. Wir haben auch festgestellt, dass die Arbeit auf diese Weise aufgrund des häufigen Stopp-/Start-Ablaufs und der Tendenz zu unnötigen Dialogen viel langsamer war.
Die Vorteile der Paarprogrammierung waren, dass sie zu einer natürlicheren Dokumentation und einer strengeren Dokumentation führten. Außerdem konnten Fehler leichter entdeckt und Vorschläge zur Verschärfung eines Algorithmus gemacht werden. Gleichzeitig haben die gleichen Vorteile jedoch auch zu Problemen geführt, da die Anpassungen und Anpassungen manchmal nicht wirklich notwendig waren.
Ein weiteres Risiko bei diesem Ansatz besteht darin, dass Sie den von Roskes ermittelten Effekt erzielen können, bei dem Programmierer zögern könnten, Dinge auszuprobieren, weil sie nicht korrigiert werden möchten. Es kann zu Auseinandersetzungen mit der Persönlichkeit kommen, wenn ein Entwickler sehr pedantisch und traditionell ist, der andere jedoch kreativer und spontaner ist.
Programmierer geben oft an, dass sie die Paarprogrammierung bevorzugen. Möglicherweise liegt dies daran, dass sie die soziale Interaktion genießen, die sie bietet, aber dies trägt nicht zur Effizienz der Produktion bei, außer vielleicht als Moralschub.
Was Sie also feststellen müssen, ist, was für Ihre Entwickler tatsächlich funktioniert und was nicht. Für die Dinge, die nicht funktionieren, ist es besser, sie wegzuwerfen, selbst wenn sie eine Trendwende sind. Was dem Team dabei hilft, schnell Fortschritte zu erzielen, ist eine gute Sache. Wenn sie jedoch mit einer Methodik beschwert werden, die nicht zu ihrem Stil passt, führt dies letztendlich zu Problemen.
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 es vollkommen offensichtlich ist, was eine Funktion aus dem Namen tut, den Sie ihm geben (was fast immer der Fall sein sollte), dann ist das Hinzufügen weiterer Beschreibungen überflüssig. Dasselbe gilt für die Benennung und Rückgabewerte von Variablen. Aus dem Namen sollte klar hervorgehen, was sie tun, und in Fällen, in denen dies nicht möglich ist, sollten Sie eine Beschreibung in die Kommentare einfü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
Sie müssen verrückt sein, wenn Sie die Versionskontrolle nicht für ein großes Projekt verwenden möchten. Ohne sie sind Sie nicht vor Ihren eigenen kleinen Fehlern geschützt, und es ist auch wirklich leicht für ein anderes Teammitglied, versehentlich (oder absichtlich) Ihren Code zu sabotieren, indem Sie ihn mit etwas überschreiben, das Ihnen nicht gefällt.
Fazit
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.
Ihre Nachricht 0 Antworten