Vorwort des Übersetzers: Nachdem Sie diesen Artikel gelesen haben, können Sie überrascht oder sogar wütend sein. Ja, wir waren auch überrascht: Der Autor hat angeblich nie von der Hierarchie im Team gehört, von der Festlegung von Aufgaben mit dem Status „Mach es schnell und ohne Begründung“. Ja, das ist es, es ist ein bisschen seltsamer Text. In der Tat bietet der Autor dem Programmierer an, die Rolle eines Systemarchitekten zu übernehmen - warum brauchen Sie dann einen Architekten? Aber all diese Einwände sollten nicht die Hauptsache vor Ihnen verbergen - warum wir diesen Text trotzdem genommen und übersetzt haben. Es geht ihm nicht um Rollen. In diesem Text geht es um professionelle Herangehensweise und Sensibilisierung. Die Wahrheit ist, dass Sie niemals ein großartiger Programmierer werden, während Sie nur „tun, was sie sagen“, ohne über die Bedeutung Ihrer Handlungen nachzudenken.Lehnen Sie zusätzlichen Code ab. Alles was Sie tun müssen, ist die drei Buchstaben zusammenzusetzen und das Wort zu sagen. Versuchen wir es gemeinsam: "Nooo!"
Aber hey. Warum machen wir das? Schließlich besteht die Hauptaufgabe eines Programmierers darin, Code zu schreiben. Aber ist es notwendig, Code zu schreiben, der von Ihnen verlangt wird? Nein! "Zu verstehen, wann Sie keinen Code schreiben sollten, ist wahrscheinlich die wichtigste Fähigkeit für einen Programmierer."
Die Kunst des lesbaren Codes .
Wir erinnern Sie daran: Für alle Leser von „Habr“ - ein Rabatt von 10.000 Rubel bei der Anmeldung für einen Skillbox-Kurs mit dem Promo-Code „Habr“.
Skillbox empfiehlt: Praktikum "Mobile Developer PRO" .
Programmieren ist die Kunst des Problemlösens. Und Sie sind die Meister dieser Kunst.
Manchmal denken wir beim Versuch, so schnell wie möglich loszulegen, an nichts anderes als an die Erledigung der Aufgabe. Und dies kann noch ernstere Probleme verursachen.
Wofür machen Programmierer ein Auge zu?
Der gesamte Code, den Sie schreiben, sollte von anderen Entwicklern verstanden sowie getestet und getestet werden.
Es gibt jedoch ein Problem: Was auch immer Sie schreiben, es wird Ihre Software komplizieren und wahrscheinlich in Zukunft Fehler hinzufügen.
Laut Rich Skrent ist der
Code unser Feind . Folgendes schreibt er:
„Der Code ist schlecht, weil er anfängt zu faulen und ständig gewartet werden muss. Das Hinzufügen neuer Funktionen erfordert häufig eine Änderung des alten Codes. Je größer es ist, desto höher ist die Wahrscheinlichkeit, dass ein Fehler auftritt, und desto länger dauert das Kompilieren. Ein anderer Entwickler benötigt mehr Zeit, um es herauszufinden. Und wenn Sie ein Refactoring benötigen, gibt es sicherlich Fragmente, die es wert sind, geändert zu werden. Massencode bedeutet häufig, die Flexibilität und Funktionalität eines Projekts zu verringern. Eine einfache und elegante Lösung ist schneller als komplexer Code. “
Wie kann man herausfinden, wann man keinen Code schreiben sollte?
Das Problem ist, dass Programmierer häufig die Anzahl der Funktionen übertreiben, die ihre Anwendung benötigt. Infolgedessen bleiben viele Abschnitte des Codes unvollständig oder werden von niemandem verwendet, aber sie erschweren die Anwendung.
Sie müssen genau wissen, was Ihr Projekt benötigt und was nicht.Ein Beispiel ist eine Anwendung, die nur eine Aufgabe löst - sie verwaltet E-Mails. Hierfür wurden zwei Funktionen eingeführt - das Senden und Empfangen von Briefen. Sie sollten nicht erwarten, dass der Mail-Manager gleichzeitig ein Task-Manager wird.
Sie müssen Vorschläge zum Hinzufügen von Funktionen, die nicht mit der Hauptaufgabe der Anwendung zusammenhängen, entschieden ablehnen. Dies ist genau der Moment, in dem klar wird, dass kein zusätzlicher Code benötigt wird.
Stellen Sie Ihre Anwendung niemals unscharf.Fragen Sie sich immer:
- Welche Funktion soll jetzt implementiert werden?
- Welcher Code ist es wert, geschrieben zu werden?
Hinterfragen Sie die Ideen, die Ihnen in den Sinn kommen, und bewerten Sie Vorschläge von außen. Andernfalls beendet der zusätzliche Code möglicherweise nur das Projekt.
Wenn Sie wissen, wann Sie nicht zu viel hinzufügen sollten, bleibt die Codebasis unter strenger Kontrolle.
Ganz am Anfang des Pfades hat der Programmierer nur zwei oder drei Quelldateien. Alles ist einfach. Das Kompilieren und Ausführen der Anwendung erfordert ein Minimum an Zeit. Es ist immer klar, wo und wonach gesucht werden muss.
Mit der Erweiterung der Anwendung werden immer mehr Codedateien angezeigt. Sie füllen das Verzeichnis mit jeweils Hunderten von Zeilen. Um dies alles richtig zu organisieren, müssen Sie zusätzliche Verzeichnisse erstellen. Gleichzeitig wird es immer schwieriger, sich daran zu erinnern, welche Funktionen für was und welche Aktionen verantwortlich sind. Das Fangen von Fehlern dauert auch länger. Das Projektmanagement wird immer komplizierter, nicht nur einer, sondern mehrere Entwickler müssen alles im Auge behalten. Dementsprechend steigen sowohl die monetären als auch die temporären Kosten und der Entwicklungsprozess wird gehemmt.
Das Projekt wird schließlich riesig und das Hinzufügen jeder neuen Funktion ist sehr schwierig. Selbst für etwas sehr Unbedeutendes muss man mehrere Stunden verbringen. Die Korrektur bestehender Fehler führt zur Entstehung neuer Fehler, die Veröffentlichungsdaten der Anwendung werden gestört.
Jetzt müssen wir um das Leben des Projekts kämpfen. Warum?
Tatsache ist, dass Sie einfach nicht verstanden haben, wann Sie keinen zusätzlichen Code hinzufügen mussten, und dass jeder Satz und jede Idee mit „Ja“ beantwortet wurde. Du warst blind, der Wunsch, etwas Neues zu erschaffen, hat dich dazu gebracht, wichtige Fakten zu ignorieren.
Klingt nach einem Horrorfilm-Drehbuch, oder?
Dies ist genau das, was passieren wird, wenn Sie weiterhin Ja sagen. Versuchen Sie zu verstehen, wann es sich nicht lohnt, Code hinzuzufügen. Entfernen Sie unnötige Elemente aus dem Projekt - dies erleichtert Ihnen das Leben erheblich und verlängert die Existenz der Anwendung.
"Einer meiner produktivsten Tage war, als ich 1000 Codezeilen gelöscht habe."
- Ken Thompson.
Es ist schwierig zu verstehen, wann Sie keinen Code schreiben müssen. Aber es ist notwendig.
Ja, ich weiß, dass Sie gerade den Weg eines Entwicklers eingeschlagen haben und Code schreiben möchten. Das ist gut, verlieren Sie nicht diesen ersten Eindruck, aber verlieren Sie wichtige Faktoren aufgrund von Begeisterung nicht aus den Augen. Wir haben alles durch Versuch und Irrtum realisiert. Sie werden auch Fehler machen und daraus lernen. Wenn Sie jedoch eine Lektion aus dem oben Gesagten lernen können, wird Ihre Arbeit bewusster.
Erstellen Sie weiter, aber wissen Sie, wann Sie Nein sagen müssen.
Skillbox empfiehlt: