На этом уроке мы порефакторим наш код, выделив общий алгоритм из трёх функций: is_correct_move_queen/bishop/rook().
Дата отправки отчёта:
10 января 2017 г.
Задание выполнено: за
22 мин.
Чему научился:
обобщать функции
Что было сложным:
Понять, чем мое решение хуже. На мой взгляд оно проще и существено короче.
Комментарии:
Дело в том, что в предыдущем уроке было предложено нам попытаться реализовать то, что сделано в последнем "Мелочь пузатая". И я это сделал и осмелюсь пока не использовать вариант предложенный Евгением Витольдовичем. Хотя если все это сделано с дальним прицелом и все новые функции еще будут использоваться в будущем, то это другое дело. Хотелось бы узнать ваше мнение о моем варианте обобщенной функции is_correct_line_move(), которую я назвал is_correct_rbq_move(sx, sy, dx, dy, r1b2q0). Часть имени line я поменял на rbq, что означает ладья, слон и королева. Дополнительный параметр r1b2q0 целого типа - Дельта: для ладьи - +1, для слона - +2. и для королевы - 0. Если я не прав - объясните. Приму любую конструктивную критику.
у вас хороший вариант. вся проблема в 108 строчке - она с первого взгляда не понятна. и со второго тоже. только с третьего начинаешь понимать. мой вариант хоть и более длинный, но более ясный, так как дополнительные функции используются в качестве комментариев для действий. можно оставить, как есть.
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: Предложенный вариант рефакторинга Игромистра отличается от моих удачных опытов из прошлого отчёта, тем лучше - увидел, что правильный путь не один, реализации одного и того же возможны разными путями