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():
    ...

Это улучшает инженерную грамотность: легче тестировать, документировать, расширять.