Привет пикабу!
189 дней назад мной был опубликован этот пост:
http://pikabu.ru/story/_1964201 Теперь пришло время рассказать о том что из этого вышло. Рассказ получился длинный поэтому скажу сразу что работы о которых пойдет речь ниже можно скачать здесь: http://expo.mozello.com/
За этот период было прочитано много литературы, решено задач, а говорить о количестве потраченных нервных клеток на попытки понять почему код не работает думаю и говорить смысла нет. Хочу сказать спасибо
@G0odGuyGreg и
@demone415 за помощь в подборе источников обучения.
Теперь собственно к главному. В процессе обучения мной было предпринято три попытки к созданию собственной программы:
После изучения базовых принципов ООП мой мозг решил что я уже способен сделать что-то стоящее и выдал гениальную идею - создать игру упор в которой делался бы на вариативность всего происходящего, при этом было абсолютно пофиг что я даже базовых принципов построения графического интерфейса не знал. Был даже привлечен человек помогавший мне писать реплики для игры, который тоже кстати является обитателем сего ресурса.(Если ты это читаешь - спасибо что не послал меня тогда, наверняка ты знал что все это та еще шляпа:) ) Короче говоря в планах было нечто вернувшееся к нам годов этак из шестидесятых , когда люди могли только мечтать о том, что кроме бесконечного множества символов на экране появится хоть какая-нибудь кнопка, с механикой игры, построенной на генераторе случайных чисел и бесконечном множестве ветвлений. В итоге у меня получилась огроменная куча непонятного и нечитабельного кода который теперь покоится на моем диске в ожидании лучших времен. В результате этого я получил один очень важный урок - лучше начинать с малого и детализировать до достижения цели, чем сделать нечто общее и пытаться из этого выделить уникальное.
Спустя два месяца мой мозг снова решил что пора бы уже что-нибудь нахимичить. А теперь угадайте какой стала вторая идея. Что? Правильно! Это была опять игра. Только теперь было решено не изобретать "нечто под маринадом", а взять готовую идею и перенести ее в консольный формат(да, как построить графический интерфейс я на тот момент тоже не знал). Спустя 5 минут размышлений подопытной игрой стала рулетка, обычная американская рулетка коих сделано тысячи если не десятки тысяч. С этого момента началась работа. Следующие семь дней я провел за ноутбуком, листком и страничкой с правилами игры в рулетку. К концу работы, если это конечно так можно назвать, листок был весь исписан записями о различных найденных багах и галочками свидетельствующими о их устранении, но все это стоило того – это была создана моя первая более-менее объемная программа состоявшая из 250 строк кода. Следующие два дня в перерывах между просмотром сериалов я играл в свое детище..... По прошествии недели я таки узнал как сделать пользовательский интерфейс иииии.....ничего, потому что следующую неделю я пытался понять как он работает и почему нужно делать именно так, а не по-другому. Середина июля, все игры давно надоели, те что не надоели уже пройдены и заняться совсем нечем. Мозг снова присылает директиву - нужно заняться третьим проектом. На этот раз это была уже не игра, это был текстовый редактор. На следующий день я снова сидел в том же кресле, с тем же ноутбуком и новым листком(кто бы сомневался). Был набросан первый макет будущей программы и определен основной функционал. Дальше началось самое сложное - написание кода и работа со Swing(это такая штука с помощью который строится пользовательский интерфейс). Оказалось что части одного компонента выглядят совершенно по-разному, как следствие мне пришлось полностью переработать макет программы, чтобы она приобрела единый "стиль" и пользователю при виде ее не хотелось выколоть себе глаза. По сути за день работы я успевал написать максимум строк 20-30 кода, время уходило на продумывание логики кода, изучение новых компонентов и того как с ними обращаться, ах да, и еще по часу(может по два) в день на танцы с бубном так как код периодически отказывался работать, не потому что я что-то сделал, а потому что он так захотел. С периодичностью в несколько дней проскакивали мысли вроде "Пошло оно нахер, лучше дворником работать чем этим заниматься". Шли дни, недели и программа понемногу обретала свой законченный вид. Несмотря на то, что я уже порядком разобрался со Swing, кода писалось по прежнему мало. Почему? А потому что во время разработки я забыл одну важную вещь - устранение багов, так же проблемой стало то, что изначально я выбрал неправильный....