Wie man die Geschwindigkeit beim Schreiben von Code erhöht: KI, Codegenerierung und Plugins
Das Schreiben großer Mengen von Code gehört zur täglichen Routine eines jeden Entwicklers. Um Ihre Arbeit zu optimieren, gibt es jetzt jedoch immer mehr verschiedene Möglichkeiten, das Schreiben von Code zu beschleunigen. Im heutigen Artikel werden wir uns verschiedene Tools und Techniken ansehen, die das Schreiben von Code beschleunigen können, darunter künstliche Intelligenz, Codegenerierung und Plugins.
Codegenerierung
Einer der wirksamsten Ansätze zur Verringerung der Menge des geschriebenen Codes ist die Codegenerierung. Durch die Minimierung des direkt in der Anwendung geschriebenen Codes können Sie die Stabilität der Anwendung erhöhen und die Anzahl der Fehler verringern.
Java Annotation Processing (APT)
Eine bekannte Methode der Codegenerierung ist die Java Annotation Processing (APT), die in Bibliotheken wie Dagger, Hilt und Room weit verbreitet ist. APT hat jedoch einige Nachteile, z. B. eine längere Erstellungszeit und Einschränkungen bei der Änderung bestehender Java-Klassen.
Damit APT in Kotlin-Projekten funktioniert, wird KAPT (Kotlin Annotation Processing Tool) verwendet, um Java-Stubs zu generieren, die dann vom Annotationsprozessor verarbeitet werden. Obwohl APT die Verwendung von Mirrors vermeidet und optimiert werden kann, führt es zu zusätzlicher Komplexität und beeinträchtigt die Erstellungszeit.
Kotlin Symbol Processing (KSP) ist eine Alternative zu APT, die speziell für Kotlin-Code entwickelt wurde. Sie macht zusätzliche Schritte wie KAPT überflüssig und verspricht im Vergleich zu APT eine schnellere Codegenerierung. KSP baut auf den Kotlin-Compiler-Plugins auf, was eine mögliche Optimierung in zukünftigen Versionen ermöglicht.
Gradle-Plugin
Neben der Erstellung von Projekten kann Gradle auch zur Aktivierung von Codegenerierungsfunktionen verwendet werden. Verschiedene Plugins wie ViewBinding, DataBinding, Apollo GraphQL, protobuf und SQLDelight können Ihnen helfen, Code aus anderen Quellen als Kotlin/Java zu generieren, z. B. aus Android-XML-Ressourcen oder SQL-Abfragen.
Kotlin Compiler-Plugins
Die Kotlin-Compiler-Plugins bieten einzigartige Möglichkeiten für die Codegenerierung. Beispiele für Plugins sind Kotlin Serialisation, KSP und Jetpack Compose. Mit diesen Plugins können Sie zusätzliche Funktionen und Codemodifikationen implementieren, die über das hinausgehen, was im Quellcode angegeben ist.
IDE
Eine integrierte Entwicklungsumgebung (IDE) ist eines der wichtigsten Werkzeuge, um das Schreiben von Code zu beschleunigen. Android Studio oder IDEA, die wichtigsten IDEs für die Android-Entwicklung, bieten ebenfalls viele integrierte Funktionen. Darüber hinaus kann die Funktionalität der IDE durch die Verwendung von Plug-ins erweitert werden.
Fertigstellung des Codes
Die von der IDE bereitgestellte Code-Vervollständigung erhöht die Geschwindigkeit beim Schreiben von Code erheblich. Sie macht es überflüssig, sich die Namen bestimmter Klassen zu merken oder nach Dokumentation zu suchen. Die Autovervollständigung schlägt kontextabhängig geeignete Klassen oder Methoden vor, was die Codierung schneller und effizienter macht.
Live Template
IDEs wie IDEA und Android Studio bieten eine Funktion namensLive Template. Diese Vorlagen ermöglichen es Entwicklern, Shortcuts oder Abkürzungen zu verwenden, um häufig verwendete Codekonstrukte schnell zu erzeugen. Benutzerdefinierte Live-Vorlagen können auf der Grundlage bestehender Vorlagen oder von Grund auf neu erstellt werden, was Zeit beim Schreiben von sich wiederholendem Code spart.
Plugins
IDEs können mit Plug-ins erweitert werden, die zusätzliche Funktionen zur Codegenerierung und -änderung bieten. Die Entwicklung und Wartung von Plug-ins kann jedoch eine komplexe Aufgabe sein, die die Kompatibilität mit mehreren API-Versionen erfordert. Das Schreiben von Plug-ins für IDEA wird durch den Zugriff auf den Quellcode der IDEA Community Edition erleichtert.
Android Studio-Vorlagen
Android Studio bietet einen eigenen Mechanismus für die Codegenerierung mithilfe von Vorlagen. Obwohl es verschiedene Funktionen bietet und regelmäßig mit neuen Vorlagen aktualisiert wird, wird das Hinzufügen benutzerdefinierter Vorlagen derzeit nicht unterstützt. Diese Einschränkung kann sich jedoch mit zukünftigen Updates ändern.
Geminio von HH
Geminio, entwickelt von HH, ist eine bemerkenswerte Lösung zur Codegenerierung. Sie ermöglicht die Generierung von Code-Vorlagen, sogenannten Rezepten, die sich über mehrere Dateien erstrecken und sogar Gradle-Module generieren können. Der Vorteil von Geminio ist, dass die Vorlagen innerhalb des Projekts gespeichert werden, was die Versionierung und die Überprüfung des Codes ermöglicht.
Codevervollständigung mit Hilfe von AI
Mit der Verbreitung von KI in verschiedenen Branchen, einschließlich mobiler Betriebssysteme und Hardwarebeschleunigung, ist es an der Zeit, den Einsatz von KI zum Schreiben von Code in Betracht zu ziehen. Eine bemerkenswerte Lösung in diesem Bereich ist AlphaCode, ein neuronales Netzwerk, das bei Codeforces-Aufgaben, die kritisches Denken, Logik, Algorithmen, Kodierung und natürliches Sprachverständnis miteinander verbinden, hervorragend abgeschnitten hat und von einer Google-Tochtergesellschaft herausgegeben wurde.
In diesem Artikel wollen wir uns jedoch mit KI-Technologien befassen, die Sie beim Schreiben von Code unterstützen und nicht einen echten Entwickler ersetzen sollen.
Eine dieser Lösungen ist GitHub Copilot, ein KI-Begleiter für die Arbeit mit Code, der auf GitHub-Projekten trainiert wurde. Obwohl die Unterstützung für Kotlin nicht offiziell ist, funktioniert sie dennoch gut. Allerdings kann der Code, aus dem es lernt, auch Fehler enthalten, was uns die Garantie für relevante Ergebnisse nimmt. Außerdem benötigt es eine Internetverbindung und sendet Ihren Code an einen Server, was Bedenken hinsichtlich der Privatsphäre aufwirft.
TabNine ist eine weitere erwähnenswerte Lösung. Obwohl sie nur online funktioniert, kann sie selbst gehostet werden, so dass Sie das Modell auf Ihrer eigenen Codebasis trainieren können. Dies ist attraktiv für Unternehmen, die besonders auf Datenintegrität und Sicherheit achten.
Die Programmierung mit KI mag zwar schneller sein, aber es ist wichtig zu beachten, dass die Dienste keine Garantie für die Qualität des Codes geben und möglicherweise veralteten oder fehlerhaften Code anbieten. Aus diesem Grund ist das wahrscheinlichste Szenario, dass wir von Software-Ingenieuren zu Code-Qualitäts-Ingenieuren wechseln werden.
Schlussfolgerung.
Im obigen Artikel haben wir mehrere Tools vorgestellt, die Ihnen das Schreiben von Code erleichtern können. Wie Sie selbst gesehen haben, können Sie mit verschiedenen Ansätzen eine große Hilfe sein, um das Schreiben von Code zu beschleunigen. Insbesondere das Schreiben von Code mit Hilfe von KI kann potenziell einen Großteil der Arbeit von Programmierern übernehmen. Allerdings kann uns noch kein Ansatz fehlerfreien Code liefern, der keine Bearbeitung erfordert, so dass Codekompetenz eine notwendige Eigenschaft ist, um wirklich von den besprochenen Tools zu profitieren.