llamacppctl/example_user_prompts/coding_02_refactor.md

20 lines
659 B
Markdown
Raw Permalink Normal View History

Analysiere den folgenden Python-Code, benenne seine Schwächen und schreibe ihn robust und wartbar um. Gib danach eine kurze Begründung der wichtigsten Änderungen und ein paar pytest-Beispieltests.
```python
import sqlite3
conn = sqlite3.connect('users.db')
def get_user(name):
cur = conn.execute("SELECT * FROM users WHERE name = '" + name + "'")
return cur.fetchone()
def add_user(name, age):
try:
conn.execute("INSERT INTO users VALUES ('" + name + "', " + str(age) + ")")
conn.commit()
except:
pass
```
Achte besonders auf: SQL-Injection, Fehlerbehandlung, Ressourcen-/Verbindungsmanagement und Testbarkeit.