2016-01-11 4 views
0

Предположим, у вас есть приложение, в котором модуль A предоставляет сервис SRVA.Является ли этот мертвый код, избыточный код или полезный код?

У вас также есть модули B и C, которые используют SRVA в соответствии со спецификацией. Наконец, у вас есть модули D и E, которые не должны использовать SRVA в соответствии со спецификацией.

Тогда у вас есть 2 режима M1 и M2. И спецификация говорит, что функциональность, обработанная SRVA, не должна выполняться во время M1.

Итак, вот мой вопрос. Вы добавили бы код, предотвращающий выполнение SRVA во время M2 везде?

Я имею в виду, если вы включите следующий фрагмент кода в модуля B и C:

if(SRVA needed & !M1) 
{ 
    request SRVA 
} 
else 
{ 
    error 
} 

и следующий код в Модуль A:

if(SRVA requested & !M1) 
{ 
    service SRVA 
} 
else 
{ 
    error 
} 

ли вам считают, что это мертвый код или избыточный код? Иными словами, считаете ли вы это плохой практикой?

Благодарим за помощь!

+0

Мертвый код может быть полезным кодом, по крайней мере, для разработчиков вашего коллеги –

+0

Хорошо. Знаете ли вы, что «стандарт кодирования» запрещает «мертвый код»? Я думаю о таких вещах, как SIL (Safety Integrity Level) и т. Д. Спасибо :) – Plouff

+0

Да, но тогда вы обертываете его '#if 0' или передаете его на контроль версий и т. Д. –

ответ

1

Так вот мой вопрос. Добавляете ли вы код, предотвращающий выполнение SRVA во время M2 во всем мире?

Да, абсолютно. Если я получу требование в форме

Функциональность, выполняемая SRVA, не должна выполняться во время M2.

Я буду чтить его, кодируя это поведение.

Но, пожалуйста, пересмотреть псевдокод, который вы написали, поскольку он работает обратным образом.

+0

Я пересмотрел псевдокод, хороший улов :)! Тот же вопрос, что и выше: знаете ли вы о «стандарте кодирования», запрещающем «мертвый код»? Я думаю о таких вещах, как SIL (уровень целостности безопасности) и т. Д. Спасибо! – Plouff

+0

Мне не нужно было следовать стандартным запрещающим мертвым кодам. Но при работе в проектах с открытым исходным кодом я получил «предложение», чтобы наполнить код перед отправкой ... и инструменты линта обычно предупреждают вас об этом – malarres

+0

Спасибо за подробности. Я принял ваш ответ, так как мой вопрос не упоминал SIL в начале. Спасибо за помощь! – Plouff

Смежные вопросы