Comments 11
Её достоинство в том, что ей всё равно в каком текстовом редакторе вы пишите код
а это разве не достоинство любой утилиты форматирования?
--Существует ли авто форматирование Си-кода, который принудительно и всегда выставляет аргументы функции в столбик?
а не пробовали использовать // ?
по крайней мере clang-format нормально это обрабатывает:
void func( //
int a,
int b
);Благодарю, Вас. Не знал про такой трюк.
Это не то.
void func( //
int a,
int b
);
Надо вот так. Прямо под открывающейся скобкой чтобы аргументы начинались
//*************************************************************************************************
// @Function GPIO_SetPinState()
//-------------------------------------------------------------------------------------------------
// @Description Sets a new logic state of the specified digital input/output pin.
//-------------------------------------------------------------------------------------------------
// @Notes None.
//-------------------------------------------------------------------------------------------------
// @ReturnValue RESULT_OK - function succeeded
// RESULT_NOT_OK - function NOT succeeded
//-------------------------------------------------------------------------------------------------
// @Parameters nPortNumber - port number
// nPinNumber - pin number
// nLogicState - a new pin logical state: LOGIC_0 - sets logical 0
// LOGIC_1 - sets logical 1
//**************************************************************************************************
STD_RESULT GPIO_SetPinState(const U8 nPortNumber,
const U8 nPinNumber,
const U8 nLogicState)
{
STD_RESULT nFuncResult = RESULT_OK;
if (FALSE == GPIO_IsPortPinValid(nPortNumber,
nPinNumber,
GPIO_API_ID_SET_PIN_STATE))
{
nFuncResult = RESULT_NOT_OK;
}
else if ((GPIO_PIN_LOW != nLogicState) && (GPIO_PIN_HIGH != nLogicState))
{
nFuncResult = RESULT_NOT_OK;
#if (ON == GPIO_DEVELOPMENT_ERROR_DETECTION)
GPIO_REPORT_DEV_ERROR(GPIO_API_ID_SET_PIN_STATE,
DEV_ERROR_PARAM_2);
#endif
}
else
{
if (GPIO_PIN_HIGH == nLogicState)
{
GPIO_pPorts[nPortNumber]->SCR.R |= ON << nPinNumber;
}
else
{
GPIO_pPorts[nPortNumber]->SCR.R |= ON << (nPinNumber + GPIO_PINS_QTY);
}
}
return nFuncResult;
} // end of GPIO_SetPinState()А не проще подстроиться под имеющиеся возможности утилит форматирования кода, чем искать что-то идеальное? Автоматическое выравниание убирает всю рутину и уже не надо думать что, где и как.
А не проще подстроиться под имеющиеся возможности утилит форматирования кода, чем искать что-то идеальное?
Вот именно что проще.
Просто на работе в НПП ИТЭЛМА заставляют писать код именно вот с такими
правилами code-style.
Нельзя Просто Так Пойти и Купить Овцу
https://habr.com/ru/articles/837396/
Если хоть одно правило из 462-х нарушено, то коммит просто не принимают в на code review.
Существует ли утилита, которая в Си-коде автоматически делает ...
На ум приходит только makeheaders (в поиск забивать makeheaders fossil), но там подход совсем уж суровый - вам просто не нужно писать хеадеры, утилита сгенерит всё сама :)
Благодарю, Вас. Не знал про такую утилиту.
makeheaders fossil
Что-то никак не найти ее дистрибутив. Есть ли URL на exe для Win10?
На ум приходит только makeheaders
Есть еще cproto
https://invisible-island.net/cproto/cproto.html
Интеграция утилиты Artistic Style в скрипт сборки прошивки