>А если затрагиваются вопросы отладки достаточно сложных алгоритмов, применение технологий, с которыми вы не сталкивались
Это лишь вопрос опыта. Люди космические станции строили, которые до них никогда не делали, и не ошибались со сроками в 10-20 раз (а то жизни бы не хватило сделать проект :)).
Правильно сказал вам разработчик с 10 годами опыта. Прогнозировать сроки — это задача менеджера проекта. Но! Фрилансер часто берет на себя роль и менеджера проекта. А значит ему нужно знать модель жизненного цикла разработки ПО. И бюджет, и сроки можно спрогнозировать только когда уже сформированы требования к продукту и в рамках анализа требований составляется план и сроки. Ну а без requirements specification все сроки — это пальцем в небо. Рекомендую начать все таки с составления req spec, иначе вы и работу принять не сможете — работа выполнена только тогда, когда она соответствует всем требованиям. Причем без разницы будет это водопад или гибкая методология разработки — разница лишь в том, что в гибких процесс итеративный и требования составляются на одну итерацию.
Сядьте и напишите обычным нумерованным списком что вы хотите видеть в продукте. Покажите их заказчику, пусть внесет коррективы. Потом покажите студенту и пусть он для каждого пункта напишет сколько ему надо времени это реализовать. Сразу умножайте написанное студентом на 2, т.к. он не заложит туда тестирование, а тестировать и фиксить баги все равно придется. Если сроки выйдут очень большие, выберите что из списка не очень приоритетное и отложите на неопределенное будущее. Работайте, короче…
По всей видимости нужно, чтоб студент проводил демонстрацию. А при заходе с преподавательского компьютера через РДП, демонстрацию сможет вести только преподаватель.
Чем вам не угодила запись shared_ptr obj = new MyObj();
В любом случае, в С++ вы не можете создать свой оператор (smartNew), только переопределить существующие. Определить new, который бы возвращал умный указатель тоже нельзя, т.к. new обязан вернуть void*. Я бы вам советовал не изобретать невероятные конструкции, а использовать то, что предлагает язык.
Я бы предложил хранить список только соседних полей, на которые можно перейти. Тогда отпадет необходимость хранить цвет границы. Для удобства доступа, список соседних полей можно хранить в 4-х массивах — для каждой стороны.
… За мнимой читаемостью совершенно не ясно, могу ли я написать
minutes TravelTime = 0.5;
Или получить фигню при делении (например, при расчете скорости движения)
Попробуйте преподнести вашим напарникам стартап как проект для себя, который вы делаете ради фана (Мотивация опен сорс проектов). Тогда и денег ожидать не будут.
Это лишь вопрос опыта. Люди космические станции строили, которые до них никогда не делали, и не ошибались со сроками в 10-20 раз (а то жизни бы не хватило сделать проект :)).