Стиль кодирования ядра Linux - программирование
Подтвердить что ты не робот

Стиль кодирования ядра Linux

Я новичок в программировании ядра, поэтому я хотел бы узнать, какой стиль кодирования более приемлем. Например, в случае обработки ошибки лучше всего из следующего?

Этот:

/* some stuff */
if(error) {
    /* error handling */
    return -(errorcode);
}
/* normal actions */

или этот:

/* some stuff */
if(!error) {
    /* normal actions */
} else {
    /* error handling */
    return -(errorcode);
}

Где я могу найти какой-либо документ, относящийся к стандарту кодирования ядра?

4b9b3361

Ответ 1

Ядро Linux имеет руководство по стилю кодирования:

https://www.kernel.org/doc/Documentation/process/coding-style.rst

Что касается вашего примера, я лично предпочитаю первый стиль. Со вторым стилем вы быстро нарушаете это правило стиля ядра Linux (стиль ядра имеет 8-значный отступ):

если вам нужно больше 3 уровней отступов, вы все равно ввернуты и должны исправить вашей программы.

Написание кода сверху донизу (в отличие от горизонтального) иногда упоминается как duffing. Я могу предложить вам это отличное чтение по этому вопросу:

Код чтения сверху донизу