Programowanie
2.12.2025

Zrób audyt kodu - Prompt do ChatGPT

Zidentyfikuj luki bezpieczeństwa i wąskie gardła w swoim kodzie. Otrzymaj gotowe do wdrożenia fragmenty kodu, aby natychmiast poprawić jego jakość.

Co robi ten prompt:

  • Służy jako szablon do przeprowadzania kompleksowego audytu kodu w określonym języku programowania. - Instruuje model AI, aby wcielił się w rolę doświadczonego inżyniera i przeanalizował kod pod kątem bezpieczeństwa, wydajności i jakości. - Generuje szczegółowy raport z audytu, zawierający zidentyfikowane problemy, ich poziom ryzyka oraz konkretne rekomendacje naprawcze.
wydajnośćbezpieczeństwodobre praktykiczytelność

Treść prompta do skopiowania

Dane wejściowe:
Kod do audytu:
Język programowania:
Główne obszary audytu:

Rola i Kontekst: Jesteś seniorem inżynierem oprogramowania i ekspertem ds. audytu kodu, z 15-letnim doświadczeniem w języku [Język programowania]. Specjalizujesz się w identyfikacji luk bezpieczeństwa, optymalizacji wydajności i egzekwowaniu najlepszych praktyk kodowania (best practices).

Zadanie (Cel): Przeprowadź rygorystyczny audyt dostarczonego kodu [Kod do audytu]. Twoim celem jest zidentyfikowanie wszelkich słabości, błędów i potencjalnych problemów, a następnie dostarczenie konkretnych, gotowych do wdrożenia rekomendacji naprawczych. Skup się priorytetowo na obszarach zdefiniowanych w [Główne obszary audytu].

Format Odpowiedzi: Strukturę odpowiedzi oprzyj na poniższych sekcjach. Dla każdego zidentyfikowanego problemu podaj jego lokalizację, poziom ryzyka (Krytyczny, Wysoki, Średni, Niski), zwięzły opis oraz rekomendowany, poprawiony fragment kodu.

1. Analiza Bezpieczeństwa (Security Vulnerabilities):

  • Problem: [Opis podatności, np. SQL Injection, XSS, nieprawidłowe zarządzanie sesją]
  • Lokalizacja: [Fragment kodu / numer linii]
  • Poziom Ryzyka: [Krytyczny/Wysoki/Średni/Niski]
  • Rekomendacja: [Opis rozwiązania i poprawiony, bezpieczny kod]

2. Analiza Wydajności (Performance Bottlenecks):

  • Problem: [Opis problemu, np. pętla N+1, nieefektywne zapytania, wycieki pamięci]
  • Lokalizacja: [Fragment kodu / numer linii]
  • Poziom Ryzyka: [Wysoki/Średni/Niski]
  • Rekomendacja: [Opis optymalizacji i zrefaktoryzowany kod]

3. Jakość i Czytelność Kodu (Code Quality & Readability):

  • Problem: [Opis, np. 'magic numbers', naruszenie zasady DRY, zbyt duża złożoność cyklomatyczna]
  • Lokalizacja: [Fragment kodu / numer linii]
  • Poziom Ryzyka: [Średni/Niski]
  • Rekomendacja: [Propozycja refaktoryzacji dla zwiększenia czytelności i utrzymywalności]

4. Zgodność z Dobrymi Praktykami (Best Practices Compliance):

  • Problem: [Opis, np. nieaktualne biblioteki, brak obsługi błędów, niezgodność ze standardem kodowania]
  • Lokalizacja: [Fragment kodu / numer linii]
  • Poziom Ryzyka: [Średni/Niski]
  • Rekomendacja: [Sugestia dostosowania kodu do aktualnych standardów]

Najważniejsze: Na końcu, w dedykowanej sekcji zatytułowanej "Podsumowanie i Kluczowe Rekomendacje", przedstaw w formie listy 3-5 najważniejszych, priorytetowych działań, które należy podjąć natychmiast, aby poprawić stan kodu.

0

Jak używać tego prompta:

Należy uzupełnić trzy główne pola: [Kod do audytu], [Język programowania] oraz [Główne obszary audytu]. Przykładowe wartości to: [Język programowania]: Python, [Główne obszary audytu]: bezpieczeństwo, wydajność, czytelność. Przykład wypełnionych danych: Kod do audytu: 'def get_user(user_id): return db.execute("SELECT * FROM users WHERE id = " + user_id)', Język programowania: Python, Główne obszary audytu: bezpieczeństwo, zgodność ze standardami.

Dobrze wiedzieć

Ten prompt jest szczególnie skuteczny, gdy jest używany iteracyjnie. Po zastosowaniu pierwszej tury poprawek zasugerowanych przez AI, możesz ponownie przesłać poprawiony kod do kolejnej rundy audytu. Pozwala to na wychwycenie ewentualnych nowych problemów i weryfikację, czy wprowadzone zmiany nie stworzyły kolejnych słabości. W przypadku bardzo dużych projektów lub całych plików, warto podzielić kod na mniejsze, logiczne fragmenty (np. pojedyncze funkcje, klasy lub moduły) i audytować je osobno. Umożliwia to modelowi głębsze skupienie się na danym fragmencie i wygenerowanie bardziej precyzyjnych i szczegółowych rekomendacji.

Sprawdź również