DenysPokatilov / MyProjects

myProject
0 stars 0 forks source link

Имя месяца по его номеру на указанном языке. #3

Open artyom-yakovenko opened 8 years ago

artyom-yakovenko commented 8 years ago

Выбери 5 любых языков и найди названия месяцев на этих языках.

Сперва программа должна попросить пользователя выбрать один из языков из твоего списка. После этого - запросить номер месяца и вывести название месяца с этим номером на выбранном языке.

Не забудь проверить, чтобы выбранный месяц был в твоём списке, а также чтобы номер месяца был от 1-го до 12-и. В противном случае пользователь должен получить сообщение об ошибке, объясняющей, в чём проблема.

artyom-yakovenko commented 8 years ago

Не работает если при выборе языка ввожу какое-то число, для которого язык не определён (например, -10, 0, 28).

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

Всегда старайся следовать так называемому DRY принципу - Don't Repeat Yourself. Видишь, что где-то копируешь идентичный блок кода - остановись и подумай, как этого избежать. Возможно, какую-то общую логику следует вынести в отдельный метод или несколько методов, а отличия регулировать параметрами, которые бы ты передавал в этот метод (или методы).

В твоём случае отличаются только сообщения, выводимые пользователю, в зависимости от выбранного языка. Можно было бы их все организовать в одну какую-то структуру данных. Остальную повторяющуюся логику вынести в отдельный метод, которому ты бы передавал параметрами эту структуру данных и выбранный язык.

Подумай, как бы ты мог это сделать, и реализуй. Если не будет получаться, то обсудим.