Мой первый сторонний проект.

До поступления в университет я проводил большую часть своего свободного времени, играя в Counter-Strike (на моем аккаунте в Steam наиграно более 1000 часов, то есть более 41 дня подряд). Я был приличным игроком, я бы сказал, вы можете увидеть подборку почти, которую я сделал здесь.

Однако я знал, что это не тот путь. Я понял, что если бы я использовал то количество времени, которое тратил на онлайн-игры, на обучение, то получил бы гораздо большее удовлетворение. И, в долгосрочной перспективе, моя жизнь была бы лучше.

Поэтому я начал усердно учиться. Я стал больше ценить свое время и отказывался от большинства вечеринок, на которые меня приглашали, потому что я был занят допоздна. Не поймите меня неправильно, я простой человек. Мне нравится думать, что я легко завожу друзей. Однако у меня просто были другие приоритеты, и вечеринки просто не были одним из них. Как говорят мои родители: «Всему свое время».

На 2-м курсе университета я получал действительно хорошие оценки, а это значит, что я начал дискутировать с другими лучшими студентами курса. Так я встретил одного из самых умных людей, которых я знаю по сей день. Этот парень был практичным человеком, он не учился в половине случаев, как я, но всегда был чем-то занят. У него была группа, он разработал свои собственные персонализированные гитарные педали и усилители, а также разработал несколько приложений для развлечения. Он сделал все это, имея отличные результаты в университете, что безумие. Именно тогда я понял, что он уделял этим увлечениям больше внимания не только в отношении вечеринок или встреч с людьми, НО также в отношении выполнения курсовых работ или подготовки к экзаменам. Он никогда бы не провалил курсовую работу/экзамен, но дальнейшее обучение могло поднять его оценку с 17 до 19 из 20.

Однажды мы должны были встретиться у него дома, чтобы вместе поработать над курсовой, и он показал мне приложение, которое разработал для себя и своей девушки. Приложение представляло собой простой интерфейс командной строки, который мог разделить их обычные счета за домашнее хозяйство (арендная плата, счет за воду, продуктовый магазин, корм для кошек и т. д.). Я нашел это увлекательным.

Я сказал ему, что создам его для себя. Поскольку я читал о том, как использовать Java для создания красивого графического интерфейса, я подумал, почему бы не попробовать (хотя я понятия не имел об ООП). Кроме того, я не хотел, чтобы моя программа выглядела так же, как его, поэтому я подумал, что моя версия может быть такой, как если бы это был апгрейд.

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

Этапы планирования были такими:

  1. Определить основные функции.
    Добавьте новые счета за домохозяйство, чтобы разделить, дать деньги и просмотреть счета.
  2. Нарисуйте, как должен выглядеть графический интерфейс
  3. Разработать структуру данных, связанную с новым разделением счетов за домашнее хозяйство.
    Это было важно как для кодирования, так и для управления базой данных.
  4. Рассчитайте математику, связанную с разделением и отдачей

Процесс разработки заключался в том, чтобы «разделить, чтобы победить». Я разбил задачи на несколько подзадач, и после каждого нового небольшого изменения кода я тестировал код, чтобы убедиться, что ничего не сломалось. Я повторяю дизайн и код несколько раз, пока не буду доволен своим решением. Затем я сделал некоторые исправления/улучшения, такие как: добавление изображений пользователей, пароль для входа, французы в виде значков.

Забавное примечание: так как в то время я не знал, как работать с БД, я использовал текстовые файлы для сохранения и загрузки всей информации. Это означает, что если бы мой брат когда-нибудь открыл один из этих текстовых файлов (которые не были должным образом скрыты…), я мог бы перейти от него, который должен мне 100 евро, к тому, что я должен ему 10 миллионов. Программное обеспечение было на его ноутбуке, а у меня был жестко закодированный пароль, поэтому теоретически он не мог вручную добавить счет без моего присутствия — я думаю, этого было достаточно, чтобы он подумал, что продукт пуленепробиваемый.

Смотрите изображения программы ниже:

Вы можете найти больше информации об этом на моем github, здесь.

В итоге программа использовалась более 3 лет. Поскольку я жил не с братом, а с другими людьми, мне пришлось обновить имя/изображение в программе, чтобы представить это. Поскольку я был новичком в программировании, я не думал о будущем. Поэтому, когда это время пришло, мне пришлось вручную заменять имена в коде одно за другим. У меня также были друзья, которые просили использовать программу, что привело к тому, что я адаптировал ее к их именам/фигурам.

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

Надеюсь, вам было весело читать. Спасибо!