π§ ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ PEP8 Π² PyCharm π§
Π§ΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ PEP8 Π² PyCharm, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
- ΠΡΠΊΡΠΎΠΉΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ PyCharm.
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ "Editor" Π² Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡ "Code Style".
- Π ΡΠ°Π·Π΄Π΅Π»Π΅ "Python" Π½Π°ΠΉΠ΄ΠΈΡΠ΅ "PEP8" ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π΅Π³ΠΎ.
- ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΠΆΠ΅Π»Π°Π΅ΠΌΡΠ΅ ΠΎΠΏΡΠΈΠΈ PEP8.
- Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ "OK", ΡΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ PEP8:
# ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π΄Π»ΠΈΠ½Π° ΡΡΡΠΎΠΊΠΈ
max-line-length = 120
# ΠΡΡΡΡΠΏΡ Π΄Π»Ρ Π²ΡΠΎΡΠΎΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΡΡΠΎΠΊ Π² ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΡ
ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΡ
extra-long-lines = 80
# ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ² Π²ΠΎΠΊΡΡΠ³ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ²
space-around-operators = True
ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π²ΡΡΡΠΏΠΈΠ»ΠΈ Π² ΡΠΈΠ»Ρ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ PEP8 Π² PyCharm
PEP8 - ΡΡΠΎ Π½Π°Π±ΠΎΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ ΠΏΠΎ ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Python. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ PEP8 ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΈΡΡΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π PyCharm Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ»ΠΈΡΡ ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΠΊΠΎΠ΄Ρ.
Π¨Π°Π³ 1: ΠΡΠΊΡΡΡΠΈΠ΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ PyCharm
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ PEP8 Π² PyCharm, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ ΠΎΠΊΠ½ΠΎ Π½Π°ΡΡΡΠΎΠ΅ΠΊ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
1. ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΌΠ΅Π½Ρ "File" (Π€Π°ΠΉΠ») Π² Π²Π΅ΡΡ
Π½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡΠ³Π»Ρ ΠΎΠΊΠ½Π° PyCharm.
2. ΠΡΠ±Π΅ΡΠΈΡΠ΅ "Settings" (ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ) Π² Π²ΡΠΏΠ°Π΄Π°ΡΡΠ΅ΠΌ ΠΌΠ΅Π½Ρ.
3. Π ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ°Π·Π΄Π΅Π» "Editor" (Π Π΅Π΄Π°ΠΊΡΠΎΡ) ΠΈ ΡΠ°ΡΠΊΡΠΎΠΉΡΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΡ "Code Style" (Π‘ΡΠΈΠ»Ρ ΠΊΠΎΠ΄Π°).
Π¨Π°Π³ 2: ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ PEP8
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ ΠΎΡΠΊΡΡΠ»ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ PyCharm ΠΈ Π²ΡΠ±ΡΠ°Π»ΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΡ "Code Style", Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ PEP8. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ:
ΠΡΡΡΡΠΏΡ
PEP8 ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΡΡΡΠΏΡ ΠΈΠ· 4 ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ². Π§ΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π² PyCharm:
1. ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ°Π·Π΄Π΅Π» Python Π² Π»Π΅Π²ΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅ ΠΎΠΊΠ½Π° Π½Π°ΡΡΡΠΎΠ΅ΠΊ.
2. Π Π°ΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°Π·Π΄Π΅Π» "Tabs and Indents" (Π’Π°Π±ΡΠ»ΡΡΠΈΡ ΠΈ ΠΎΡΡΡΡΠΏΡ).
3. Π ΠΏΠΎΠ»Π΅ "Tab size" (Π Π°Π·ΠΌΠ΅Ρ ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ) Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ 4.
4. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΠΎΠ»Π΅ "Use tab character" (ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ) Π½Π΅ ΠΎΡΠΌΠ΅ΡΠ΅Π½ΠΎ.
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π΄Π»ΠΈΠ½Π° ΡΡΡΠΎΠΊΠΈ
PEP8 ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ Π΄ΠΎ 79 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². Π§ΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π² PyCharm:
1. Π ΡΠ°Π·Π΄Π΅Π»Π΅ Python Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ°Π·Π΄Π΅Π» "Code Style" (Π‘ΡΠΈΠ»Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ).
2. Π Π°ΡΠΊΡΠΎΠΉΡΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΡ "Wrapping and Braces" (ΠΠ΅ΡΠ΅Π½ΠΎΡ ΠΈ ΡΠΊΠΎΠ±ΠΊΠΈ).
3. Π ΠΏΠΎΠ»Π΅ "Right margin" (ΠΡΠ°Π²ΡΠΉ ΠΎΡΡΡΡΠΏ) Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ 79.
ΠΡΠΎΠ±Π΅Π»Ρ Π²ΠΎΠΊΡΡΠ³ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ²
PEP8 ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΏΡΠΎΠ±Π΅Π»Ρ Π²ΠΎΠΊΡΡΠ³ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, "="). Π§ΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π² PyCharm:
1. Π ΡΠ°Π·Π΄Π΅Π»Π΅ Python Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ°Π·Π΄Π΅Π» "Spaces" (ΠΡΠΎΠ±Π΅Π»Ρ).
2. ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡ "Before Parentheses" (ΠΠ΅ΡΠ΅Π΄ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ).
3. ΠΡΠΌΠ΅ΡΡΡΠ΅ ΠΎΠΏΡΠΈΡ "Around assignment operator" (ΠΠΎΠΊΡΡΠ³ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ).
Π¨Π°Π³ 3: ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΏΡΠΎΠΈΠ·Π²Π΅Π»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ PEP8, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΠΊΠΎΠ΄Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ:
1. ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ "Apply" (ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ), ΡΡΠΎΠ±Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
2. ΠΠ΅ΡΠ½ΠΈΡΠ΅ΡΡ Π² ΠΎΠΊΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° PyCharm ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΡ "Code" (ΠΠΎΠ΄).
3. ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΎΠΏΡΠΈΡ "Reformat Code" (Π€ΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄) ΠΈΠ· Π²ΡΠΏΠ°Π΄Π°ΡΡΠ΅Π³ΠΎ ΠΌΠ΅Π½Ρ "Code" (ΠΠΎΠ΄).
ΠΠΏΡΠΈΡ "Reformat Code" (Π€ΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄) ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡ Π²ΡΠ΅ Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ PEP8.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ PEP8 Π² PyCharm ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ Python. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π΅ΠΌΡΠΉ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΠΊΠΎΠ΄. ΠΠ΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.