Помогите разобраться с кодом.

Модератор: Модераторы

Re: Помогите разобраться с кодом.

Сообщение java73 » 09.04.2018 19:07:08

В ООП я бы сделал так как-то
там недопил один))
java73
постоялец
 
Сообщения: 257
Зарегистрирован: 21.11.2013 09:08:10

Re: Помогите разобраться с кодом.

Сообщение pupsik » 09.04.2018 21:53:27

java73 мдя... тяжкий случай....
Походу у вас "стальные канаты". Правда: с недопилом :wink:

п.с.
вот наф... так заворачивать для, надеюсь не школа, штудента (макс. 2-й курс)?
Вспомнилась "качелька" чёт :)
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: Помогите разобраться с кодом.

Сообщение java73 » 09.04.2018 22:29:53

Когда я написал небольшой, но красивый туториал по ООП в freepascal на Хабр (поскольку там для этого языка крайне скудный материал), меня закидали требованиями перевести все на реализацию интерфейсов, создавать объекты абстрактными фабриками, соблюдать SOLID и выкинуть диавольское наследование у классов. А ведь смысл урока был дать введение в понятие классов и основных принципов ООП. Так что теперь я всем мщу.

Добавлено спустя 1 минуту 12 секунд:
pupsik писал(а):вот наф... так заворачивать для, надеюсь не школа, штудента (макс. 2-й курс)?

надо сразу макать в бочку с TDD/DDD
java73
постоялец
 
Сообщения: 257
Зарегистрирован: 21.11.2013 09:08:10

Re: Помогите разобраться с кодом.

Сообщение pupsik » 09.04.2018 23:32:36

Так что теперь я всем мщу.
а..а: бываетЬ. Вы хоть кодом...

надо сразу макать в бочку
хм.. это задача препода. Не ваша. Дайте им ощутить щастие бытия :)

п.с.
по поводу моего кода есть хаяния?
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: Помогите разобраться с кодом.

Сообщение java73 » 10.04.2018 00:23:56

такие сверхувнизно железобетонные алгоритмы подошли бы для второго урока, на котором изучают инструкцию ветвления на простых консольных примерах. у вас на форме непосредственно в обработчиках событий контролов напичкан код логики, при этом он включает миллиард вложенных условий, абсолютно не читаемых, идеальный такой спагетти-код. я хотя бы максимально разделил представление и логику, в представлении на каждом контроле вызывается ровно один метод класса, инкапсулировавшего всю логику игры. и вроде бы именно так и должно быть в теории: рандомное число выдает объект - представление лишь показывает его. объект получает от представления введенное пользователем число и обрабатывает его нужным способом. представление реагирует на события объекта - увеличение уровня или увеличение угаданных чисел и просто отображает цифры, все. что и как делает объект форме знать не нужно. форму можно заменить другой, заменить на web представление, на еще что угодно, а модуль с объектом менять не придется вообще ни в строчке. представление лишь дает старт, просит следующее число и реагирует на события. этому надо учить студентов, а не как вложить побольше условий друг в друга и все запихнуть в один метод, привязанный к кнопке.

Добавлено спустя 4 минуты 8 секунд:
В функции, дающей число, у вас заведомо исключены числа, содержащие ноль: 10, 101, 90, 50 и т.д. Этого в предусловии задачи нет.
java73
постоялец
 
Сообщения: 257
Зарегистрирован: 21.11.2013 09:08:10

Re: Помогите разобраться с кодом.

Сообщение pupsik » 10.04.2018 00:59:24

java73 ого как :))))
Хм... Мне вот интересно: будь вы на месте преподавателя и увидев адекватный код.... что бы сказали? Ух ты какой умниц? :roll:
Ну не верю я что будет что то иное. Т.е. посмотрят и попробуют своё сваять. Максимум контролы почикают, да хаоса добавят в код. Или по другому будет?

п.с.
нуль - великое дело. Должны же быть бонусы :)

такие сверхувнизно железобетонные алгоритмы подошли бы для второго урока...
самый первый пост просмотрите... В коде их явно нет :)

Добавлено спустя 5 минут 27 секунд:
фу ты... половина вашего хаяния меня - какой вы умниц.... только 3 строки уделили на хаяние из всего. Аж обидно.

Добавлено спустя 1 час 1 минуту 27 секунд:
Попробую "устаканить". Прежде чем тема перевалит во флуд.
Ваш код нормальный. Но не подходит для данной ситуации. По простому - перебор.
Для написания решения необходимо было тупое (уж пардон) решение. Которое работает и очень примитивно. Даже константы я зря влепил, как и некоторые мелочи. Т.е. дело 15-20 минут с перерывом, а не часового обдумывания как.

п.с.
Кстати: привет преподавателю. Который, возможно, читает данную ветку :lol:

В функции, дающей число...
не вы должны били это написать.... ох.. не вы...
pupsik
энтузиаст
 
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13

Re: Помогите разобраться с кодом.

Сообщение java73 » 10.04.2018 07:20:18

На примерах учатся. Если не учатся, то смысл присутствовать на техническом или информационном факультете - отсидка. Я учился на юридическом, но друзья, которые учились на информационных технологиях, ходили ко мне, чтоб я им решал задачки в дельфи. Это дело вообще?
Но меня тоже не кому было правильно учить, я научился изначально неправильно. Поэтому насоздавал громоздких и трудноизменяемых приложений. И только после этого узнал о настоящих прелестях правильного проектирования и принципов.
Человек, обучающийся по технической специальности, должен уметь играть в абстракции. Если нет, см.пункт 1.
java73
постоялец
 
Сообщения: 257
Зарегистрирован: 21.11.2013 09:08:10

Пред.

Вернуться в Помощь за вознаграждение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

Рейтинг@Mail.ru