mirror of
https://github.com/affaan-m/ECC.git
synced 2026-09-08 07:37:48 +02:00
43 lines
775 B
Markdown
43 lines
775 B
Markdown
---
|
||||
|
|
paths:
|
|||
|
|
- "**/*.py"
|
|||
|
|
- "**/*.pyi"
|
|||
|
|
---
|
|||
|
|
# Python Kodlama Stili
|
|||
|
|
|
|||
|
|
> Bu dosya [common/coding-style.md](../common/coding-style.md) dosyasını Python'a özgü içerikle genişletir.
|
|||
|
|
|
|||
|
|
## Standartlar
|
|||
|
|
|
|||
|
|
- **PEP 8** konvansiyonlarını takip et
|
|||
|
|
- Tüm fonksiyon imzalarında **type annotation'lar** kullan
|
|||
|
|
|
|||
|
|
## Immutability
|
|||
|
|
|
|||
|
|
Immutable veri yapılarını tercih et:
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
from dataclasses import dataclass
|
|||
|
|
|
|||
|
|
@dataclass(frozen=True)
|
|||
|
|
class User:
|
|||
|
|
name: str
|
|||
|
|
email: str
|
|||
|
|
|
|||
|
|
from typing import NamedTuple
|
|||
|
|
|
|||
|
|
class Point(NamedTuple):
|
|||
|
|
x: float
|
|||
|
|
y: float
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Formatlama
|
|||
|
|
|
|||
|
|
- Kod formatlama için **black**
|
|||
|
|
- Import sıralama için **isort**
|
|||
|
|
- Linting için **ruff**
|
|||
|
|
|
|||
|
|
## Referans
|
|||
|
|
|
|||
|
|
Kapsamlı Python idiom'ları ve pattern'leri için skill: `python-patterns` dosyasına bakın.
|