IMHIRED Telegram 376
Каково работать с кодом на C в 2024 году

Итак, я уже неделю плотно работаю с кодовой базовой СУБД Pangolin, которую СберТех разрабатывает как для Сбера, так и для внешних клиентов.

Pangolin основан на опенсорсном PostgreSQL, поэтому подавляющее большинство кодовой базы написано на чистом C. Я знал, что так будет и осознанно пошёл в этот проект. Сейчас хочу подвести первые итоги, каково это после 16 лет разработки преимущественно на С++ столкнуться с С 😳

Боль
🤕 Простота кода — вернее её отсутствие 😉 Открываешь функцию на 1000 строк, которая вызывает функцию на 600 строк, которая вызывает ещё 5 функций по 300 строк каждая
🤕 RAII, я по тебе скучаю. Я рыдал, когда читал код вот этой функции. В строке 2482 она получает char* passwd, аллоцированный другой функцией. Ниже есть 10 мест, где вызывается return, и в каждом из них надо не забыть вызывать pfree(passwd), а то же память утечёт 🤦

Кайф
😎 Компилируется космически быстро, несмотря на исполинские размеры кодовой базы 🚀
😎Пошаговая отладка дебаггером как на университетских лабораторках — быстро, легко, понятно и просто работает из коробки. Я сейчас очень много этим пользуюсь, чтобы освоиться в кодовой базе и изучить, какая функция откуда вызывается.
😎 Сберовский GigaChat неплохо знает исходники PostgreSQL и со второго-третьего вопроса неплохо объясняет, в какое место кода надо смотреть, чтобы найти, как работает нужная мне функциональность. Сильно ускоряет погружение в кодобазу.
😎 VS Code индексирует весь код из коробки, и навигация работает... просто работает 👍

А кто из вас работает на чистом С? Как вам?



tgoop.com/imhired/376
Create:
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

View MORE
Open in Telegram


Telegram News

Date: |

The Standard Channel In 2018, Telegram’s audience reached 200 million people, with 500,000 new users joining the messenger every day. It was launched for iOS on 14 August 2013 and Android on 20 October 2013. 1What is Telegram Channels? Telegram channels enable users to broadcast messages to multiple users simultaneously. Like on social media, users need to subscribe to your channel to get access to your content published by one or more administrators. Public channels are public to the internet, regardless of whether or not they are subscribed. A public channel is displayed in search results and has a short address (link).
from us


Telegram Илья Шишков: код, собесы, IT
FROM American