Skip to content

Refactor server.c with decomposition for better maintainability #62

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

Markusssssu
Copy link

Улучшенная версия кода сохраняет минималистичный подход, но делает его более надежным и поддерживаемым за счет четкой декомпозиции логики. Теперь инициализация сервера, обработка подключений и парсинг запросов разделены на изолированные функции, что упрощает чтение и модификацию кода. Например, koil_server_parse_request стала чистой функцией, которую легко протестировать отдельно, а da_append теперь безопасно обрабатывает перераспределение памяти. Добавлены проверки на ошибки для системных вызовов (socket, bind, accept) и освобождение ресурсов (close, free), что предотвращает утечки памяти и файловых дескрипторов. При этом стиль остался таким же лаконичным — без лишних абстракций или зависимостей. Код по-прежнему собирается в один файл, но его структура позволяет легче добавлять новые фичи (например, роутинг или middleware) без переписывания всей логики. Важно, что эти изменения не ломают обратную совместимость — сервер работает как прежде, но теперь он устойчивее к ошибкам и проще в развитии.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant