DenysPokatilov / MyProjects

myProject
0 stars 0 forks source link

Общие комментарии к проекту в целом #14

Open artyom-yakovenko opened 8 years ago

artyom-yakovenko commented 8 years ago

Привет,

Я добавил ряд комментариев в целом к коду. Обнови, пожалуйста, проект на своей машине, проанализируй комментарии и исправь огрехи в стиле соответствующим образом.

Второй момент: обрати внимание, как неудобно получается, что когда задача выполнена и выведен на экран ответ, сразу же выводится меню. Это немного сбивает с толку, так как в результате видишь меню и приходится глазами искать, где же ответ.

Давай сделаем так, чтобы после вывода ответа, показывалось какое-нибудь сообщение типа "Нажмите ENTER, чтобы продолжить..." и только после нажатия клавиши ENTER показывалось бы меню.

Всегда старайся ставить себя на место пользователя и пытаться представить, насколько удобно пользоваться твоей программой, как можно улучшить. Даже если это не относится к сфере твоей ответственности, всё равно делись мнением. Беги без оглядки из компаний и коллективов, в которых твоё мнение и предложения не рассматриваются, а сразу затыкают рот без особых объяснений. Нечего на таких работах делать ;)

Конкретно по задачам комментарии отпишу в соответствующих issues.

artyom-yakovenko commented 8 years ago

Originally from issue #16 by Denys:

Все сделано исключая : только метода Exit - он действительно делает выход из программы! и там, где ты мне сказал, что не нужен break после default. Если я удаляю его то выдает ошибку что он нужен! default: Console.WriteLine("input is not correct");// на отдельной строке! break; // в ветке default это не нужно

artyom-yakovenko commented 8 years ago

По поводу default ты прав - я опрометчиво поспешил с тем комментарием, даже его не проверив, и сам оказался в дураках :)

А вот по поводу метода Exit у меня всё так же вопрос, зачем он.

Во-первых, сам по себе этот твой метод содержит один лишь вызов Environment.Exit(0); и при этом в твоей программе он вызывается только в одном месте, а именно в методе Run. Вопрос: зачем выносить одну строчку кода, которая вызывается только в одном месте, в отдельный метод? Вместо одной строки ты добавил четыре, однако смысла в этом я особо не вижу.

Во-вторых, зачем тебе этот метод Exit, если ты мог бы вместо него просто использовать инструкцию return; для выхода из метода Run и, соответственно, завершения работы программы.

С самим по себе вызовом Environment.Exit(0); ничего неправильного нет. Это полезный метод и он, в общем-то, делает то, что тебе надо. Однако всему своё место: его следует использовать не просто для быстрого выхода из программы, когда и обычный return; подошёл бы, а для того, чтобы передать в вызывающую среду так называемый "код выхода". Думаю, что я не ошибусь, если предположу, что ты явно не для этого его использовал, верно? ;)

Сейчас это выглядит так, как если бы ты пришёл и забил в стенку гвоздь огнетушителем, тогда как рядом на столе у тебя лежит молоток. Как бы вроде и ничего страшного - гвоздь в итоге в стену забит. Только вот... зачем огнетушителем, если есть молоток? ;)

Мораль: никогда не пиши какой-то код "просто так", не до конца понимая зачем. Нашёл какой-нибудь кусочек кода, который решает твою задачу? Отлично! Но никогда слепо его не копируй, пока не разобрался в каждой строчке. Иначе когда-нибудь может больно выстрелить в ногу!