Eine der besten Eigenschaften von Open-Source-Software ist die Möglichkeit, den Code anderer Personen wiederzuverwenden. Durch die Wiederverwendung von Code kannst du Zeit sparen, neue Funktionen entdecken und andere Programmierstile erlernen. Im Wesentlichen gibt es für die Wiederverwendung von Code zwei Möglichkeiten.
- Kopieren und Einfügen eines Codeschnipsels direkt in dein Projekt. Wenn du dich mit dem Programmieren noch nicht auskennst, ist dies die schnellste Möglichkeit, mit der Wiederverwendung von Code zu beginnen.
- Importieren einer Bibliothek in dein Projekt. Dieser Ansatz erfordert zwar eine gewisse Einarbeitungszeit, ist aber letztlich einfacher und effizienter. Zudem stellt er eine grundlegende Fähigkeit für die Softwareentwicklung dar.
Verwenden von Codeschnipseln anderer Personen in deinen Projekten
Wenn du gerade programmieren lernst, kopierst du vielleicht Codeschnipsel anderer Personen und fügst sie in dein Projekt ein. Die Verwendung von Codeschnipseln ist eine gute Möglichkeit, das Programmieren zu erlernen und Zeit zu sparen. Es gibt jedoch ein paar wichtige Schritte, die du immer beachten solltest, bevor du den Code eines anderen Entwicklers kopierst.
1. Suchen und Verstehen eines Codeschnipsels
Der erste Schritt besteht darin, ein Codeschnipsel auszuwählen, das du wiederverwenden möchtest. Geeigneten Code findest du auf Search GitHub. Du kannst die Suche durch Suchqualifizierer wie language:YOUR-SEARCH-LANGUAGE
eingrenzen.
Angenommen, du möchtest Python-Code wiederverwenden, mit dem die Fakultät einer Zahl berechnet wird. Wenn du auf GitHub nach factorial language:python is:repository
suchst, findest du das Repository new2code/python-factorial
, das den Rechner in factorial_finder.py
mit einer Schleife implementiert:
# Initialize the factorial result to 1
factorial = 1
# Initialize the input number to 6
number = 6
# Loop from 1 to number (inclusive) and multiply factorial by each number
for i in range(1, number + 1):
factorial *= i
print(f"The factorial of {number} is {factorial}")
Wenn du ein Codeschnipsel nicht sofort verstehst, kannst du Copilot bitten, es zu erklären. Klicke in der Menüleiste oben in der Datei factorial_finder.py
auf , um eine Unterhaltung über die Datei zu beginnen, und bitte dann Copilot um Folgendes: Explain this program
.
2. Grundlegendes zur Projektlizenzierung
Bevor du den Code, den du gefunden hast, wiederverwenden kannst, musst du dich über die Lizenzierung informieren. Lizenzen bestimmen, wie du den Code in einem Projekt verwenden darfst, also auch, ob du den Code kopieren, verändern und weitergeben darfst.
Du findest die Lizenz für ein Projekt im Abschnitt „About“ auf der Hauptseite des Repositorys. Zum Beispiel ist zu sehen, dass das Repository new2code/python-factorial
der MIT-Lizenz unterliegt. Klicke zum Lesen der Lizenz auf MIT license.
Note
Wenn der Code, den du verwenden möchtest, einer anderen Lizenz unterliegt, solltest du die Lizenzzusammenfassungen unter Lizenzen lesen, um dich zu informieren.
Für den Fall, dass du die gesamte Datei factorial_finder.py
kopieren möchtest, weist die MIT-Lizenz darauf hin, dass du eine Kopie der Lizenz in dein eigenes Projekt aufnehmen musst. Füge die Lizenz als Kommentar oben in deiner Python-Datei ein.
3. Verwenden und Ändern von Codeschnipseln
Nachdem du dich über den Code und seine Lizenzierung informiert hast, kannst du das Codeschnipsel in dein Projekt einfügen. Du kannst den Code zwar so verwenden, wie er ist, musst ihn aber oft für deinen speziellen Anwendungsfall anpassen.
Bei unserem Beispiel möchten wir schnell die Fakultäten von 5, 7, 9 und 10 berechnen. Anstatt das gesamte Programm für jede Zahl zu kopieren und einzufügen, können wir unseren Rechner in eine Funktion verschieben, die eine Zahl als Argument akzeptiert.
Um uns bei diesen Änderungen zu helfen, bitten wir ask Copilot, eine Implementierung vorzuschlagen und zu erklären. Wir können unseren aktuellen Code in das Chatfenster einfügen und Copilot dann zum Wrap the Python code above in a function
auffordern. Copilot generiert Code, der wie folgt aussieht:
def calculate_factorial(number): # Initialize the factorial result to 1 factorial = 1 # Loop from 1 to number (inclusive) and multiply factorial by each number for i in range(1, number + 1): factorial *= i return factorial
def calculate_factorial(number):
# Initialize the factorial result to 1
factorial = 1
# Loop from 1 to number (inclusive) and multiply factorial by each number
for i in range(1, number + 1):
factorial *= i
return factorial
Mit unserer neuen Funktion können wir ganz einfach die Fakultäten unserer Zahlen ermitteln, indem wir den folgenden Code in unser Projekt einfügen und dann das Python-Programm ausführen:
print(calculate_factorial(5)) print(calculate_factorial(7)) print(calculate_factorial(9)) print(calculate_factorial(10))
print(calculate_factorial(5))
print(calculate_factorial(7))
print(calculate_factorial(9))
print(calculate_factorial(10))
Herzlichen Glückwunsch! Du hast ein Beispiel für ein Codeschnipsel gefunden, verstanden und geändert.
Verwenden von Code aus Bibliotheken in deinem Projekt
Die Verwendung von Bibliotheken ist gängige Praxis für Entwickler. Bibliotheken sind im Prinzip Sammlungen von Code, der von anderen Entwicklern geschrieben wurde, um bestimmte Aufgaben zu erfüllen. Du kannst Bibliotheken in dein Projekt importieren, um den bereits geschriebenen Code zu verwenden, sodass du Zeit und Mühe sparst.
In diesem Abschnitt setzen wir die Arbeit mit dem Beispiel des Python-Rechners für Fakultäten aus dem vorherigen Abschnitt fort. Zur Information hier unser aktueller Code:
def calculate_factorial(number): # Initialize the factorial result to 1 factorial = 1 # Loop from 1 to number (inclusive) and multiply factorial by each number for i in range(1, number + 1): factorial *= i return factorial print(calculate_factorial(5)) print(calculate_factorial(7)) print(calculate_factorial(9)) print(calculate_factorial(10))
def calculate_factorial(number):
# Initialize the factorial result to 1
factorial = 1
# Loop from 1 to number (inclusive) and multiply factorial by each number
for i in range(1, number + 1):
factorial *= i
return factorial
print(calculate_factorial(5))
print(calculate_factorial(7))
print(calculate_factorial(9))
print(calculate_factorial(10))
1. Suchen nach einer Bibliothek
Wenn du weißt, welche Funktionen du deinem Projekt hinzufügen möchtest, kannst du nach einer Bibliothek mit entsprechendem Code suchen. Copilot Chat bietet eine einfache Möglichkeit, nach Bibliotheken zu suchen, da du mit natürlicher Sprache genau beschreiben kannst, wonach du suchst.
Zurück zu unserem Fakultätenrechner: Die Ermittlung der Fakultät ist eine sehr gebräuchliche Funktion, und es ist gut möglich, dass jemand diese Funktion in eine bestehende Bibliothek aufgenommen hat. Wenn wir Copilot fragen Is there a Python library with a function for calculating a factorial?
, wird Copilot uns sagen, dass eine factorial-Funktion im Modul math
der Python-Standardbibliothek enthalten ist.
2. Priorisieren der Sicherheit in deinem Projekt
Wenn du deinem Projekt eine Bibliothek oder ein Modul hinzufügst, entsteht eine sogenannte Abhängigkeit. Abhängigkeiten sind bereits geschriebene Codebundle, die ein Projekt benötigen, um ordnungsgemäß zu funktionieren. Wenn sie nicht sorgfältig geschrieben oder gepflegt werden, können sie Sicherheitsrisiken für deine Arbeit darstellen. Zum Glück gibt es einige Maßnahmen, die du ergreifen kannst, um dein Projekt bestmöglich zu schützen.
Verwenden von beliebten Bibliotheken
Beliebte Bibliotheken sind wahrscheinlich sicherer, da sie von vielen Entwicklern aktiv gepflegt und verwendet werden. Ein guter Gradmesser für die Beliebtheit ist die Anzahl der Sterne, die ein Repository hat. Wenn du das GitHub-Repository für eine Abhängigkeit nicht findest, bitte Copilot um Hilfe.
Nach dem math
-Modul können wir Copilot beispielsweise mit Find the GitHub repository containing the code for the math module in Python
fragen. Copilot wird uns sagen, dass das math
-Modul in python/cpython
definiert ist, das über 64.000 Sterne hat.
Aktivieren von Dependabot alerts für dein Projekt
Wenn diese Funktion aktiviert ist, generiert Dependabot alerts automatisch Warnmeldungen, wenn Dependabot ein Sicherheitsproblem in deinen Abhängigkeiten entdeckt, und hilft dir, Sicherheitsrisiken schnell zu beseitigen. Dependabot ist kostenlos auf allen Open-Source- Repositorys von GitHub verfügbar.
Klicke zum Aktivieren von Dependabot alerts auf die Registerkarte Security für das GitHub-Repository deines Projekts. Klicke neben Dependabot alerts auf Enable Dependabot alerts. Du kannst auf Dependabot alerts über die Registerkarte Dependabot in der Seitenleiste zugreifen.
3. Implementieren von Code aus einer Bibliothek
Nachdem du nun Schritte unternommen hast, um deine Arbeit zu schützen, musst du die Bibliothek in dein Projekt importieren und kannst dann deren Inhalt in deinem Code verwenden. In der Dokumentation der Bibliothek kannst du nachlesen, wie du es selbst machen kannst, oder du kannst Copilot bitten, dir eine Implementierung vorzuschlagen und zu erklären.
Für unser Programm zur Ermittlung von Fakultäten können wir Copilot etwa fragen: How do I use the factorial function of the math module in my Python project?
. Copilot wird dann eine Version des folgenden Codes vorschlagen:
import math # Calculate the factorial of a number number = 5 result = math.factorial(number) print(f"The factorial of {number} is {result}")
import math
# Calculate the factorial of a number
number = 5
result = math.factorial(number)
print(f"The factorial of {number} is {result}")
Wenn du den vorhandenen Code in deinem Projekt durch die obige Implementierung ersetzt hast, hast du erfolgreich Code aus einer Bibliothek in deinem Beispielprojekt wiederverwendet.