В чем разница между макросом препроцессора без аргументов и макросом без аргументов

По большей части я соглашаюсь, что TDD действительно обеспечивает своего рода средство проектирования. Самая важная часть которого мне является способом, которым она создает в способности внести больше изменений (Вы знаете, когда у Вас есть та флэш-память момента понимания, где можно добавить функциональность путем удаления кода) со значительно сниженным риском.

Однако часть более алгоритмической работы я заключил контракт на, в последнее время пострадал немного под TDD без осторожного баланса мысли дизайна. Оператор выше о более безопасном рефакторинге был все еще большим преимуществом, но для некоторых алгоритмов TDD (хотя все еще полезен) не достаточный для получения Вас к идеальному решению. Возьмите сортировку в качестве простого примера. TDD мог легко привести Вас к субоптимальному алгоритму (N^2) (и ставриды того, чтобы проходить тесты, которые позволяют Вам осуществлять рефакторинг к быстрой сортировке) как пузырьковая сортировка. TDD является инструментом, очень хороший инструмент, но как много вещей должен использоваться соответственно для контекста решаемой проблемы.

28
задан Brian Tompsett - 汤莱恩 2 March 2016 в 11:09
поделиться

1 ответ

Я предпочитаю использовать MY_MACRO(), с круглыми скобками, потому что мне кажется, что я вызываю функцию. В противном случае это выглядит так, будто я вызываю константу:

MY_MACRO();

против

MY_MACRO;

То есть, если определение используется для вызова кода, а не просто для простого значения константы.

7
ответ дан 28 November 2019 в 03:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: