Die Bedeutung der Lesbarkeit von Code wird häufig unterschätzt, insbesondere bei der Programmierung in einer Umgebung, in der die Benutzeroberfläche und die Benutzererfahrung im Vordergrund stehen. Es ist zwar richtig, dass es sehr wichtig ist, eine großartige App zu erstellen, aber es ist ebenso wichtig, sie in Zukunft ändern zu können. Mit unlesbarem Code kann es sehr viel schwieriger sein, Fehler zu beheben. Es wird unzählige Stunden versucht, die richtigen Codezeilen zu finden und zu verstehen, wie es funktioniert.
Jeder Dummkopf kann Code schreiben, den ein Computer verstehen kann. Gute Programmierer schreiben Code, den Menschen verstehen können. - Martin Fowler
Lassen Sie uns in diesem Sinne beginnen und lernen, wie Sie Ihren Code für sich selbst und für andere, die in der Zukunft Änderungen daran vornehmen müssen, lesbarer machen.
Dies scheint eine naheliegende Methode zu sein, um Code lesbarer zu machen, wird aber oft übersehen. Wenn Sie Swift-Code schreiben, ist es wahrscheinlich, dass Sie Xcode als Compiler verwenden. Praktischerweise stellt sich heraus, dass Xcode mit Funktionen ausgestattet ist, die den Code lesbarer machen.
Die am häufigsten verwendete Art von Kommentar ist ein einzeiliger Kommentar. Viele von uns verwenden die beiden Schrägstriche vor einer Zeile, damit sie vom Compiler ignoriert werden. Vergessen Sie jedoch nicht, wie nützlich es ist, Ihren Code zu dokumentieren!
Zur Auffrischung können Sie einen traditionellen einzeiligen Kommentar machen:
// Berechne die durchschnittliche Note let mean = (gradeA + gradeB + gradeC) / 3,0
Normalerweise steht der Kommentar über der Zeile, die er näher erläutert. Verwenden Sie Ihre Kommentare, um Erklärungen oder Einblicke in Ihren Code hinzuzufügen, und beschreiben Sie nicht nur die Funktionen der Zeile. Der folgende Kommentar zum obigen Code ist beispielsweise nicht hilfreich, da er keine weitere Erklärung enthält, die über das hinausgeht, was sofort ersichtlich ist.
// addiere die Noten und dividiere durch 3
Sie haben vielleicht benutzt Klicken Sie auf Befehlstaste, um weitere Informationen zu einer bestimmten Variablen, Klasse oder Methode zu erhalten. Wussten Sie jedoch, dass Sie solche Informationen zu Ihrem eigenen Code hinzufügen können? Sie können! Verwenden Sie dazu eine spezielle einzeilige Kommentarsyntax wie folgt: drei Schrägstriche, gefolgt von einem Leerzeichen und einem Bindestrich. Fügen Sie dann den Attributnamen hinzu (z. B. "Parameter") und geben Sie anschließend das Wort und dann seine Definition ein.
Hier ist ein Beispiel für eine schnelle Hilfe-Kommentar-Syntax:
/// - Parameter foobar: Definition von foo func foobar ()
Wenn du Befehlstaste das foobar
Überall dort, wo sie verwendet wird, sehen Sie ihre Definition unter Parameter.
Ein weniger verbreiteter Kommentartyp ist ein Blockkommentar. Diese Kommentare werden normalerweise verwendet, um Lizenzinformationen und Copyright-Informationen oben in der Datei zu platzieren. Sie können jedoch auch verwendet werden, wenn Sie mehrere Zeilen schreiben müssen, um Ihren Code zu erläutern Erkläre deinen Code, er ist wahrscheinlich nicht lesbar genug).
Um einen Blockkommentar zu machen, beginnen Sie mit einem Schrägstrich, einem Sternchen und anschließend Ihrem Code. Wenn Sie bereit sind, den Kommentar zu beenden, können Sie einfach ein Sternchen und dann einen weiteren Schrägstrich einfügen.
Hier ist ein Beispiel davon:
/ * Copyright (c) 2018, Vardhan Agrawal Alle Rechte vorbehalten. * /
Um Kommentare zur Schnellhilfe zu erhalten, sind Blockkommentare der richtige Weg, um eine vollständige Dokumentation Ihres Codes in Xcode zu erstellen. Verwenden Sie dazu einfach zwei Sternchen, um zu beginnen und zu enden, wie Sie es für einen normalen Blockkommentar mit einem einzelnen Stern tun würden. Sie können sogar die Markdown-Syntax verwenden, um Ihren Kommentar zu formatieren und lesbarer zu machen.
So würden Sie Code dokumentieren:
/ ** Diese Funktion liefert eine Liste der Zufälligkeiten. ** Parameter: ** - foo: ein bisschen Zufall. - bar: eine Menge mehr Zufälligkeit. * /
Fügen Sie Ihrem Code gute Kommentare hinzu, und Sie sind dem Schreiben von lesbarem Code einen Schritt näher.
Sie haben dies oft gehört, aber der Code muss wie Englisch lesen können. Eigentlich interessiert es den Computer nicht, wie er für den Menschen aussieht, aber eines der Zeichen eines guten Programmierers ist, wie gut er seinen Code so lesbar machen kann, dass er so lesbar wie möglich ist.
In Swift ist es am besten, die Dinge anhand der Rolle zu benennen, die das Objekt im Code spielt. Zum Beispiel, anstatt einfach den Namen zu verwenden Apfel
für eine Variable vom Typ Apfel
, Wenn der Apfel als Nahrung für ein Tier dient, könnte er benannt werden Lebensmittel
stattdessen.
Es kann manchmal verlockend sein, einem Objekt, das spezialisiert sein soll, viele Verantwortlichkeiten zu geben. Dies kann dazu führen, dass Ihre App für jeden, der den Code liest, weniger modular und verwirrender ist. Durch das Benennen Ihrer Objekte auf der Grundlage ihrer Aufgaben können Sie daran erinnert werden, nur den Objekten, für die sie verantwortlich sind, Rollen zu geben.
Die Namen von… Eigenschaften, Variablen und Konstanten sollten als Substantive gelesen werden. - Apfel
Diese allgemeine Faustregel ist sinnvoll, da diese Typen in einer App normalerweise durch Substantive dargestellt werden können. Hier sind einige Beispiele:
var scoreCounter
für eine SpriteKit-Spielstatusvariable.Lassen Sie sharedInstance
für einen singleton.Die Verwendung boolescher Methoden und Eigenschaften sollte als Aussagen über den Empfänger gelesen werden. - Apfel
Indem wir sagen, dass Boolesche "Aussagen über den Empfänger" sein sollten, meinen wir einfach, dass sie Ja oder Nein sein sollten. Schauen wir uns einige Beispiele an:
var isEmpty
für ein Array.Lassen Sie sich berühren
für ein Spiel-Sprite.Protokolle, die beschreiben, was etwas ist, sollten als Substantive gelesen werden. - Apfel
Wenn Sie Protokolle verwenden, um einen "Vorlagen" -Typ zu erstellen, sollten Sie dieselbe Benennung verwenden wie für Variablen und Konstanten. Dies ist auch sinnvoll, weil Sie den Typ der Methoden, Klassen usw. benennen. Hier einige Beispiele:
Protokoll Früchte
für verschiedene Arten von Obstklassen.Protokollsammlungen
für Arrays, Listen und mehr.Protokolle, die eine Fähigkeit beschreiben, sollten mit den Suffixen benannt werden: able, ible oder ing. - Apfel
Wenn Ihre Protokolle definieren, was ein Typ tun kann, sollte er mit den Suffixen darüber benannt werden. Dies sollte so gelesen werden, als ob das Protokoll etwas "tun kann". Hier eine weitere Liste von Beispielen:
Protokoll rückzahlbar
für Typen, die zurückgegeben werden können.Protokoll ProgressReporting
für Typen, die den Fortschritt melden.Zusätzlich zu diesen Namenskonventionen empfiehlt Apple, dass Sie vermeiden, was als "Kunstbegriffe" bezeichnet wird. Mit anderen Worten, Begriffe, die möglicherweise nicht leicht verständlich sind. Sie sagen nicht, sie vollständig zu meiden, verwenden sie aber nicht, wenn stattdessen ein einfaches Wort ausreicht.
In Serienanwendungen verwenden Entwickler Entwurfsmuster, um ihren Code in einer Weise zu strukturieren, die geändert werden kann und auch lesbarer ist. Lassen Sie uns ein paar Designmuster besprechen, die Sie in Ihrer nächsten iOS-App verwenden können.
So klische das auch klingen mag, es ist wirklich die Grundlage dafür, wie Sie Ihre App programmieren. Nehmen wir an, Sie bauen ein Haus, Ihr Traumhaus. Dieses Haus ist fünf Stockwerke hoch. Wenn Sie also kein starkes Fundament aufbauen und den Bauplänen folgen, wird es wahrscheinlich nur umkippen. Die Grundlage einer iOS-App ist das von Ihnen gewählte Designmuster. Schauen wir uns zwei der am häufigsten verwendeten Muster an.
Das Model-View-Controller- oder MVC-Entwurfsmuster ist ein Industriestandard. Es unterteilt jeden Teil Ihres Codes in drei Teile: das Modell, die Ansicht und den Controller.
Es gibt viele Variationen davon, wie z MVVM und MVP. Es lohnt sich, sie zu lesen,aber das Prinzip ist ähnlich MVC. Weitere Informationen zu MVC und MVVM finden Sie in diesen Artikeln von Bart Jacobs auf Envato Tuts+.
Was auch immer Sie wählen, alle werden als Designmuster bezeichnet und machen unseren Code modularer. Sehen wir uns ein anderes Designmuster an, das das von Ihnen gewählte App-Muster ergänzen kann.
Ein Singleton ist eine einzelne Instanz einer Klasse, die zu jeder Zeit im Speicher vorhanden ist. Warum interessiert uns das? Nehmen wir an, Sie bauen eine App, die eine Verbindung zu einer Datenbank herstellt. Sie benötigen einen Ort, an dem Sie alle Ihre Datendienstverbindungen ablegen können. Dies wäre ein perfekter Ort, um Singletons zu verwenden.
Schauen Sie sich den folgenden Code an - er zeigt Ihnen, wie Sie einen Singleton konstruieren:
// Deklarationsklasse DataService statisch var shared = DataService () func createUser () // etwas tun // // Aufruf-Site DataService.shared.createUser ()
So einfach ist das!
Wenn Sie Entwurfsmuster verwenden, ist Ihr Code viel besser lesbar sowie organisiert und modular, sodass Sie Probleme mit Ihrer App viel einfacher isolieren und große Änderungen mit minimaler Code-Neuverdrahtung vornehmen können.
Wenn Sie weitere Entwurfsmuster für Swift lernen möchten, besuchen Sie unseren Ganzkurs.
In diesem Kurs lernen Sie 21 verschiedene Entwurfsmuster. Vielleicht finden Sie nur einen, der die Art und Weise, wie Sie kodieren, verändern wird!
Wie Sie sehen, ist es nicht so schwer, Ihren Code lesbarer und organisierter zu machen. Wenn Sie sich darum bemühen, haben Sie die Möglichkeit, den Code einfach zu ändern und Ihren Code für andere verständlicher zu machen. Arbeitgeber suchen nach diesen Dingen. Gewöhnen Sie sich also regelmäßig an die Tipps!
Ich hoffe, Ihnen hat dieses Tutorial gefallen, und während Sie hier sind, lesen Sie einige unserer anderen Tutorials zur Swift- und iOS-App-Entwicklung.