ChatGPT для программиста
Dec. 27th, 2022 06:37 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Я понял, что бы я хотел вот от этого ChatGPT. Это, конечно, нифига не интеллект. Но это — хрень, которая работает без ошибок и не задалбывается от рутины.
В моём любимом OpenSSL типичная функция на 10 строчек содержательной работы содержит 10 строчек инициализации, 40 строчек проверок того, что инициализация и содержательная работа удались (функция вернула нужное значение) и ругань по этому поводу, и ещё 10 строк очистка тех ресурсов, которые я насоздавал. И форматирование, которое, впрочем, можно поручить редактору, осталось понять, как именно.
А хочу я написать эти 10 содержательных строчек, сказать "а теперь вставь все проверки и очистку как в соседних функциях" и получить на выходе код, обвешанный некоторой обвязкой. Можно ещё проверить на типовые ошибки типа buffer overflow. В общем, даже на первый взгляд производительность содержательно растёт в разы.
В моём любимом OpenSSL типичная функция на 10 строчек содержательной работы содержит 10 строчек инициализации, 40 строчек проверок того, что инициализация и содержательная работа удались (функция вернула нужное значение) и ругань по этому поводу, и ещё 10 строк очистка тех ресурсов, которые я насоздавал. И форматирование, которое, впрочем, можно поручить редактору, осталось понять, как именно.
А хочу я написать эти 10 содержательных строчек, сказать "а теперь вставь все проверки и очистку как в соседних функциях" и получить на выходе код, обвешанный некоторой обвязкой. Можно ещё проверить на типовые ошибки типа buffer overflow. В общем, даже на первый взгляд производительность содержательно растёт в разы.
no subject
Date: 2022-12-29 10:05 am (UTC)no subject
Date: 2022-12-29 11:26 am (UTC)editorconfig, что ли? Ну это не то. Это минимальный набор: табы vs пробелы, сколько позиций в одном табе, кодировки, стиль концов строк. А кодстайл подразумевает ещё и ответы на вопросы: где разбивать длинные строки, где пробелы вокруг пунктуации, как индентить продолжение строки, можно ли или нет короткое тело метода или лямбду писать в одну строчку, вот это всё. И это всё очень хреново формализуется, а когда оно формализовано и энфорсится гит-хуками, то начинает оскорблять чувство прекрасного.