03_Инженерная_и_визуальная_грамотность.md - YaroslavGit28/os.sys-PY GitHub Wiki
03. Инженерная и визуальная грамотность
3.1. Читаемость кода
Проект специально сделан:
- в одном файле
file_manager.py; - с короткими, понятными функциями:
list_dir,make_dir,remove_item,open_explorer,open_shell_here,clear_screen,show_menu,main;
- с говорящими именами (
CURRENT_DIR,change_dir).
Это помогает:
- быстро понять, какая функция за что отвечает;
- легко показывать части кода на слайдах / в документации;
- модифицировать поведение без сложных рефакторингов.
3.2. Визуализация потоков действий
Диаграмма, которая отражает путь пользователя от выбора пункта меню до вызова системной команды:
flowchart TD
U[Пользователь] -->|выбор пункта меню| M[main()]
M -->|1| L[list_dir()]
M -->|2| CD[change_dir()]
M -->|3| MD[make_dir()]
M -->|4| RM[remove_item()]
M -->|5| EX[open_explorer()]
M -->|6| SH[open_shell_here()]
EX --> OS1[os.system('explorer/...')]
SH --> OS2[os.system('start powershell ...')]
3.3. Пример: «в лоб» vs структурированно
Без структурирования (условный пример, как делать НЕ надо):
import os
while True:
c = input("1 - dir, 2 - mkdir, 3 - del, 4 - explorer: ")
if c == "1":
for x in os.listdir():
print(x)
elif c == "2":
os.mkdir(input("name: "))
elif c == "3":
os.remove(input("name: "))
elif c == "4":
os.system("explorer .")
В проекте мы выносим логику в отдельные функции:
def list_dir():
...
def make_dir():
...
def remove_item():
...
def open_explorer():
...
Это улучшает инженерную грамотность: легче тестировать, документировать, расширять.