Comments 18
Я бы тогда уж назвал это "странные уголки"…
За вот такое использование new можно сразу выгонять.
Выполнил я его в срок, но конкуренция была большая и скорее всего взяли человека который сделал его с помощью рекомендованных технологий и красочнее.
Я, конечно, не знаю, как там было сформулировано задание, но на мой взгляд оно преследовало две цели: 1) посмотреть на алгоритм, который вы придумаете для компьютера, и 2) посмотреть на качество кода. К сожалению, вы провалились и там, и там.
«Красочность» на этапе собеседования обычно мало кому нужна, как раз этому научить человека проще всего.
Я не буду критиковать код автора, поскольку причин его критиковать слишком много. Могу лишь посоветовать: не нужно писать статью про каждую Вашу первую программу, даже если сделанная работа вызывает у Вас бурю эмоций. Не стоит искать причину в некрасочности Вашего решения, если Вам очевидно известно, что Вашу программу можно сделать лучше. Лично я даже не запускаю большинство заданий, посмотрев на код. И в последнюю очередь смотрю на графику, Следующим разумеется, если задание не чисто графическое. Вашим следующим шагом должно быть либо удаление этой статьи, либо вторая часть: работа над ошибками. В ней Вы должны рассказать нам (а не мы Вам), почему Вас не взяли и как Вы исправили бы свой код, чтобы стать лучше.
Неплохое начало для игры, с правилами которой не знаком. А создать качественную отлаженную программу проще, когда есть пусть и грубый, но рабочий прототип - это лишь дело времени. IMHO.
Некоторые вещи, которые есть в этом коде, нельзя писать даже в прототипе. Их вообще нигде нельзя писать, их нельзя ничем оправдать — не существует случая, когда они хороши. В первую очередь это относится к сырым new. Написание через умные указатели или vector и проще по коду, и безопаснее, и не медленнее при исполнении. В коде автора каждый new написан так, что иногда в нем возможна утечка памяти.
Такие прототипы не превращаются в качественную отлаженную программу. Они превращаются в некачественную программу, работающую только благодаря тому, что ее отлаживали.
Размер статический, нужно array использовать.
Да хоть что, лишь бы не new. Использование vector вместо array — ошибка небольшая, можно оправдаться тем, что это на C++03, негативных эффектов почти не дает (ну, памяти чуть больше расходует). Использование сырого new оправдать нельзя ничем.
Странные шахматы как тестовое задание