Přeskočit obsah

Git a konvence


Git workflow

Projekt používá feature branch workflow:

# Vytvoření větve z main
git checkout main && git pull
git checkout -b feature/název-funkce

# Práce a commity
git add .
git commit -m "feat: popis změny"

# Push a PR
git push origin feature/název-funkce
# → Vytvořte Pull Request na GitHubu

Konvence větví

Prefix Účel
feature/ Nová funkcionalita
fix/ Oprava chyby
docs/ Dokumentace
refactor/ Refaktoring bez změny chování
AM/ Starší konvence (legacy)

Konvence commit zpráv

Formát: <typ>: <popis v češtině>

Typ Kdy
feat: Nová funkce
fix: Oprava chyby
docs: Dokumentace
refactor: Refaktoring
test: Testy
chore: Build, konfigurace

C# konvence

  • Jazyk komentářů, názvů metod a proměnných: čeština (UI text) / angličtina (kód)
  • Přístupové modifikátory: explicitní vždy
  • Async/await: vždy pro I/O operace, metody s suffixem Async
  • Nullable reference types: povoleno, ? explicitně
  • Result pattern: pro všechny servisní operace

Pojmenování

// Třídy a interface
public class ArticleDataService { }
public interface IArticleDataService { }

// MAUI ViewModel properties
[ObservableProperty]
private ObservableCollection<Article> _articles = [];  // generuje Articles

// Async metody
public async Task<Result<Article>> GetByIdAsync(long id) { }

Konfigurace .gitignore

Soubory které se NESMÍ commitovat: - appsettings.Development.json (obsahuje hesla) - *.pfx, *.key (certifikáty) - .claude/settings.local.json

Šablona pro development config:

cp appsettings.Development.template.json appsettings.Development.json
# Upravte hesla a connection string