Re[2]: Запись печатания текста
От: velkin Удмуртия https://kisa.biz
Дата: 30.08.23 12:17
Оценка:

Незаконченный код против программиста


Я тут понабирал всякую ерунду, поиграл в игру и подумал, а в чём отличие незаконченного кода от говнокода. Можно ведь дойти до того, что незаконченный код говно, легаси говно. А это к тому, что я объяснил вначале, что эта тема главным образом для того, чтобы мне не было скучно исследовать возможности опытного функционала, который я хотел бы сделать, но не сделал, потому что мне было скучно.

Если так подумать, то программист это даже не тот, кто разбирается в коде. Хотя не нужно делать неверных выводов, в коде нужно уметь разбираться. Но некоторые говорят, что для успешного успеха в профессии должно быть интересно. А интересно обычно, когда ничего не знаешь, а когда знаешь уже неинтересно. Вот и получается, что программисты это люди, которые не смотря ни на что просто умеют херачить код днями на пролёт.

Те кто играют в игры, они ведь не то, что не задумываются над хорошо они играют или нет, они просто играют, играют и играют. Кто-то играет в короткие сессионки, кто-то дрочит днями на пролёт. Понятно, что если бы люди вместо игр или написания своего сверх ценного мнения в разделе политика программировали, они может быть уже написали шедевр мирового софтостроения.

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

А в программировании, ну я не знаю, получишь программу и всё. По крайне мере конкретно здесь исследуется функционал и какого-то другого вознаграждения не предполагается. А потом вообще забудешь, что такое когда-то писал.

В итоге я решил публиковать незаконченный код, хотя бытует мнение что.
1. Программа никогда не бывает закончена.
2. Совершенство достигается не тогда, когда нечего добавить, а когда нечего убрать.



Версионирование незаконченного кода


Есть разные системы нумерования версий кода.

Из классики


Major.Minor.Patch

Выпуск. Для внешних пользователей.


1. Главная версия. Major. Старшая версия.

Относится к релизу, то есть публикации программы в свободный доступ, например, для продажи. За главную версию можно заново срубить деньжат с людей. Или как в Overwatch 2 урезать Overwatch 1 и сменить систему монетизации по сути кинув людей. В коммерческих проектах считается, что первая версия это первый выпуск программы. А в некоммерческих любят начинать с нулевой версии. И вроде как смена главных версий должны нести радикальные изменения программы. Но комерсы есть комерсы им ведь плевать не технологии, у них задача заработать деньги.

2. Незначительная версия. Minor. Младшая версия.

По сути это якобы незначительные обновления, тоже для свободного доступа за которые можно брать деньги, а можно и не брать. Типа вот мы какие добренькие, не берём с тебя за незначительные обновления деньги, только за значительные. Или всё же берём деньги и за незначительные обновления, а почему бы и нет. Номер сменился? Сменился. Деньги на бочку.

- Ты будешь платить пидор!?
— Я заплачу, я заплачу!
— Заплатишь. пидор, заплатишь!


Разработка. Внутри компании разработчика.


3. Заплатка. Patch (maintenance, age, micro). Функционал.

По сути это версия не для выпуска, а наращивание функционала разработчиком. Но в наше время цифровой дистрибуции люди привыкли, что можно постоянно обновлять версии. А не коммерческим разработчикам, которые работают на энтузиазме тем более плевать на проверку качества. И вот пошла такая ерунда с публикацией ещё одной цифры. Например, я использую Qt 5.9.9, можно посмотреть историю версионирования Qt, но по факту Qt 5.9.9 это по сути законченная версия Qt 5.9.

4. Прочие описания

Есть всякие alpha, beta, rc, release и прочее. Есть номера сборок, может быть номер в репозитории или ещё что. Но мы же уже выше договорились, что я буду публиковать незаконченный код. Потому я думаю, что буду использовать только major.minor и при этом числа с 0 до 9, да я не ошибся именно числа.

Создание действий


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

Давайте тогда назовём эту программы tapeditor, не путайте с fapeditor.

Далее создадим минимальный набор действий.
Файл       Правка     Вид
---        ---        ---
Открыть    Записать   Журнал событий
Сохранить  Проиграть
---
Выход


А вообще мне надоело всё это писать. Пусть будет такая полностью недоделанная первая опубликованная версия. Потом допишу остальное, тем более мне надо проверить кучу других идей, то есть переходить к более полезным вещам.

Скачать: tapeditor-0.1.7z



https://www.youtube.com/watch?v=XXVMdjyhKig
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.