Skip to main content

Wiederverwenden des Codes anderer Personen in deinen Projekten

Verbessere deine Programmiereffizienz und vertiefe dein Wissen durch die Integration von vorhandenem Code in deine Projekte.

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.

In diesem Artikel lernen wir beides, indem wir ein Beispiel durcharbeiten: Verwenden von Python-Code, der die Fakultät einer Zahl berechnet.

Verwenden von Codeschnipseln anderer Personen in deinen Projekten

Wenn du dich erst mit dem Programmieren vertraut machst, beginne damit, Codeschnipsel von anderen Personen wiederzuverwenden, ihn zu kopieren und in dein Projekt einzufügen. Es ist eine hervorragende Möglichkeit, Zeit zu sparen, aber es gibt einige wichtige Schritte, die du immer ausführen solltest, bevor du den Code einer anderen entwickelnden Person kopieren.

1. Suchen und Verstehen eines Codeschnipsels

Zunächst musst du das Codeschnipsel, das du wiederverwenden möchtest, finden und verstehen. In diesem Beispiel wählen wir das new2code/python-factorial-Repository aus.

Öffne zunächst factorial_finder.py, was den Rechner mithilfe 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}")

Klicke dann in der Menüleiste oben in der Datei auf , um eine Unterhaltung mit Copilot zu beginnen.

Screenshot der Schaltfläche Copilot, oben in der Dateiansicht mit dunkel-orangefarbener Umrandung hervorgehoben.

Frage Copilot im Chatfenster:

Text
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.

Um die Lizenz für new2code/python-factorial zu identifizieren, suche den Abschnitt „Info“ auf der Hauptseite des Repositorys. Hier siehst du, dass das Repository der MIT-Lizenz unterliegt. Klicke zum Lesen der Lizenz auf MIT license.

Screenshot der Hauptseite des Repository new2code/python-factorial. Auf der rechten Seitenleiste ist „MIT license“ dunkelorange umrandet.

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.

Tip

Du erfährst, was über andere allgemeine Lizenzen mit dem Tool Choose a license zulässig ist.

3. Verwenden und Ändern von Codeschnipseln

Jetzt kannst du das Codeschnipsel in dein Projekt einfügen. Obwohl du manchmal Codeschnipsel unverändert verwenden kannst, musst du sie doch oft an deinen bestimmten Anwendungsfall anpassen. Das üben wir jetzt!

Angenommen, wir möchten die Fakultäten von 5, 7, 9 und 10 schnell 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.

Verwende Copilot Chat, um eine Implementierung vorzuschlagen und zu erläutern. Füge unseren aktuellen Code in das Chatfenster ein, gefolgt von diesem Prompt:

Text
Wrap the Python code above in a function.

Copilot generiert Code, der wie folgt aussieht:

Python
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:

Python
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

Als Nächstes erfahren wir, wie Bibliotheken verwendet werden, was Standardpraxis für Entwickler ist. 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:

Python
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.

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. Öffne die Copilot Chat-Ansicht, und frage:

Text
Is there a Python library with a function for calculating a factorial?

Copilot teilt uns mit, dass eine Fakultätsfunktion im math-Modul aus der Python-Standardbibliothek eingeschlossen 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 vordefinierte Codebundle, auf die dein Projekt angewiesen ist, sodass es ordnungsgemäß funktioniert. Wenn sie nicht sorgfältig geschrieben oder verwaltet werden, können durch sie Sicherheitsrisiken für deine Arbeit entstehen.

Zum Glück gibt es einige Maßnahmen, die du ergreifen kannst, um dein Projekt bestmöglich zu schützen. Das üben wir jetzt.

Beliebte Bibliotheken sind wahrscheinlich sicherer, da sie von vielen Entwickelnden 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.

Öffne die Copilot Chat-Ansicht, und frage:

Text
Find the GitHub repository containing the code for the math module in Python.

Copilot wird dir 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.

Aktiviere Dependabot alerts jetzt für dein Repository. Klicke 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.

Screenshot der Seite „Security“ eines Repositorys. Die Registerkarten „Security“ und „Dependabot“ und die Schaltfläche „Enable Dependabot alerts“ sind dunkelorange umrandet.

3. Implementieren von Code aus einer Bibliothek

Jetzt kannst du die Bibliothek in dein Projekt importieren und dann den 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.

Öffne die Copilot Chat-Ansicht, und frage:

Text
How do I use the factorial function of the math module in my Python project?

Copilot schlägt dann eine Version des folgenden Codes vor:

Python
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 verwendet.

Freigeben deiner Arbeit

In diesem Tutorial hast du gelernt, wie du den Code anderer Personen bei deiner eigenen Arbeit sicher wiederverwenden kannst. Teile in unserer Communitydiskussion, wie du den Code wiederverwendet und das Beispielprojekt ausgebaut hast.

Weiterführende Themen