tgoop.com/imhired/376
Last Update:
Каково работать с кодом на C в 2024 году
Итак, я уже неделю плотно работаю с кодовой базовой СУБД Pangolin, которую СберТех разрабатывает как для Сбера, так и для внешних клиентов.
Pangolin основан на опенсорсном PostgreSQL, поэтому подавляющее большинство кодовой базы написано на чистом C. Я знал, что так будет и осознанно пошёл в этот проект. Сейчас хочу подвести первые итоги, каково это после 16 лет разработки преимущественно на С++ столкнуться с С 😳
Боль
🤕 Простота кода — вернее её отсутствие 😉 Открываешь функцию на 1000 строк, которая вызывает функцию на 600 строк, которая вызывает ещё 5 функций по 300 строк каждая
🤕 RAII, я по тебе скучаю. Я рыдал, когда читал код вот этой функции. В строке 2482 она получает char*
passwd
, аллоцированный другой функцией. Ниже есть 10 мест, где вызывается return
, и в каждом из них надо не забыть вызывать pfree(passwd)
, а то же память утечёт 🤦
Кайф
😎 Компилируется космически быстро, несмотря на исполинские размеры кодовой базы 🚀
😎Пошаговая отладка дебаггером как на университетских лабораторках — быстро, легко, понятно и просто работает из коробки. Я сейчас очень много этим пользуюсь, чтобы освоиться в кодовой базе и изучить, какая функция откуда вызывается.
😎 Сберовский GigaChat неплохо знает исходники PostgreSQL и со второго-третьего вопроса неплохо объясняет, в какое место кода надо смотреть, чтобы найти, как работает нужная мне функциональность. Сильно ускоряет погружение в кодобазу.
😎 VS Code индексирует весь код из коробки, и навигация работает... просто работает 👍
А кто из вас работает на чистом С? Как вам?
BY Илья Шишков: код, собесы, IT
Share with your friend now:
tgoop.com/imhired/376