LINUX.ORG.RU

История изменений

Исправление Deleted, (текущая версия) :

В больших проектах выразительность Си ограничивают кодинг стайлами и ревью. Недавно меня попросили исправить отправленный коммит:

if (check_msg_signature(data, offset+(jmp_step=2))
 || check_msg_signature(data, offset+(jmp_step=3))
{
    // do something depending on jmp_step
}
Посовещавшись, пришли вот к чему:
jmp_step = 0;
if (check_msg_signature(data, offset+2))
    jmp_step = 2;
else if (check_msg_signature(data, offset+3))
    jmp_step = 3;

if (jmp_step)
{
    // do something depending on jmp_step
}
Дескать, первый случай элегантнее, но второй проще, а значит, нужно так.

Это не значит что выразительность не нужна. Мне нравится писать для себя на Perl и C так как _мне_ хочется. Но также я люблю строгость, явность паскаля. В больших проектах всё чаще вижу что программируют в стиле его конструкций. И, в отличие от С, примитивный код на паскале — красив.

Исходная версия Deleted, :

В больших проектах выразительность Си ограничивают кодинг стайлами и превью. Недавно меня попросили исправить отправленный коммит:

if (check_msg_signature(data, offset+(jmp_step=2))
 || check_msg_signature(data, offset+(jmp_step=3))
{
    // do something depending on jmp_step
}
Посовещавшись, пришли вот к чему:
jmp_step = 0;
if (check_msg_signature(data, offset+2))
    jmp_step = 2;
else if (check_msg_signature(data, offset+3))
    jmp_step = 3;

if (jmp_step)
{
    // do something depending on jmp_step
}
Дескать, первый случай элегантнее, но второй проще, а значит, нужно так.

Это не значит что выразительность не нужна. Мне нравится писать для себя на Perl и C так как _мне_ хочется. Но также я люблю строгость, явность паскаля. В больших проектах всё чаще вижу что программируют в стиле его конструкций. И, в отличие от С, примитивный код на паскале — красив.