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.

Einer der besten Dinge bei 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 Factorial 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.

Zunächst öffnefactorial_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}")

In der Menüleiste oben in der Datei klicken Sie , um eine Unterhaltung mit Copilot zu beginnen.

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

Fragen Sie 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. Um die Lizenz zu lesen, klicken Sie auf MIT-Lizenz.

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ügen Sie oben in der Python Datei die Lizenz als Kommentar ein.

Tipp

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.

Vorschlag und Erklärung einer Implementierung erfolgen mit Copilot-Chat. 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 ungefähr 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 die Factorialen unserer Zahlen ganz einfach finden, indem wir unserem Projekt den folgenden Code hinzufü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 arbeiten wir weiterhin mit dem Beispiel für den Python faktoriellen Rechner aus dem vorherigen Abschnitt. 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 ist eine einfache Möglichkeit, nach Bibliotheken zu suchen, da Sie die natürliche Sprache verwenden können, um genau das zu beschreiben, wonach Sie suchen.

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. Öffnen Sie Copilot-Chat, und fragen Sie dann:

Text
Is there a Python library with a function for calculating a factorial?
          Copilot teilt uns mit, dass eine factoriale Funktion in das [`math`](https://docs.python.org/3/library/math.html) Modul aus der Standardmäßigen Python-Bibliothek 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 Sie das GitHub Repository für eine Abhängigkeit nicht finden können, können Sie Copilot um Hilfe bitten.

Öffnen Sie Copilot-Chat, und fragen Sie dann:

Text
Find the GitHub repository containing the code for the math module in Python.
          Copilot teilt Ihnen mit, dass das `math` Modul in [`python/cpython`](https://github.com/python/cpython) definiert ist, mit über 64.000 Sternen.

Aktivieren von Dependabot alerts für Ihr Projekt

Wenn diese Option aktiviert ist, werden Dependabot alerts automatisch generiert, wenn Dependabot ein Sicherheitsproblem in Ihren Abhängigkeiten erkannt wird, damit Sie Sicherheitsrisiken schnell beheben können. Dependabot ist kostenlos für alle Open Source-Repositorys GitHub verfügbar.

Schalten Sie Dependabot alerts jetzt für Ihr Repository ein. Klicken Sie auf die Registerkarte Security and quality für das GitHub-Repository Ihres Projekts. Klicken Sie neben Dependabot alerts auf AktivierenDependabot alerts. Sie können von der Dependabot Registerkarte der Seitenleiste auf Dependabot alerts zugreifen.

3. Implementieren von Code aus einer Bibliothek

Jetzt kannst du die Bibliothek in dein Projekt importieren und dann den Inhalt in deinem Code verwenden. Sie können die Dokumentation für die Bibliothek lesen, um zu erfahren, wie Sie dies selbst tun können, oder Sie können sie bitten Copilot , eine Implementierung für Sie vorzuschlagen und zu erläutern.

Öffnen Sie Copilot-Chat, und fragen Sie dann:

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.

Teilen deiner Arbeit

In diesem Tutorial hast du gelernt, wie du den Code anderer Personen bei deiner eigenen Arbeit sicher wiederverwenden kannst. Um zu feiern, teile in der Diskussion unserer Community mit, wie du den Code wiederverwendet hast und das Beispielprojekt ausgebaut hast.

Weiterführende Lektüre

  •         [AUTOTITLE](/get-started/learning-to-code/finding-and-understanding-example-code)