LINUX.ORG.RU

Как себя заставить и научиться делать ТЗ и выполнять его?

 


0

3

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



Последнее исправление: bad_master (всего исправлений: 2)

ТЗ

а зачем? В большинстве случае достаточно общей схемы работы, а детали уже ближи к делу проясняется.

Описанные проблемы решаются другими способами: написанием тестов, редизайном, рефакторингом

oxo
()

У твоей программы нет логического разделения на части, когда один кусок делает одно, другой другое, а третий делает следующее объединяя предыдущие два. От этого получается монолитный поток создания. Дели программу на части. Когда ты пишешь некий кусок кода тебе все очевидно, но возвращаясь время спустя нужно перечитывать код, пиши комментарии на своём родном языке пр каждом удобном случае. Вместо написания функций ты предпочитаешь просто вставить что-то делающий код от этого получается огромная простыня, разбивай задачи на функции которые делают что-то конкретное.

Файловая организация проекта, тупо эстетически красивее и более понятно когда всё разнесено по разным каталогам или файлам если реализация чего-то норм лежит в одном файле.

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

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

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

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

Проект показывай =)

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

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

короче есть демка под десктоп - этим сейчас никого не удивишь. Потом подумал что было бы классно запустить под андроид - оказалось что я писал на устаревшем АПИ который ведроидом не поддерживается - по пути выяснилось чтобы переписать надо скомпилировать фрейворк - вроде сделал, потом выяснилось что та версия которую я скомпилировал не поддерживает андроид, скомпилировал по свежее - выяснилось что я похоже скомпилировал для десктопа, а для андроида надо еще раз компилировать по другому, там потом выяснилось что версия cmake на официальном сайте для компиляции не поддерживается и надо компилить cmake, потом ninja выдал ошибку - там куча программ которые друг от друга зависит и их надо все установить, потом непонятная ошибка хотя делал по мануалу. Потом среда разработки(несколько) не хочет запускать эмулятор андроида и не понятно как его завести, но все уперлось в устаревший апи и приходится безбожно искать и компилировать библиотеку с этим айпи и оказалось что под нее нужны .so файлы библиотек которые я сам должен как-то подтянуть и где взять и опять же скомпилить, а в итоге новый апи крашиться прога из-за примера из гугла простенькой программы рисования треугольника - я блин хочу писать код , а не настраивать эти долбанные программы

bad_master
() автор топика
Последнее исправление: bad_master (всего исправлений: 1)
Ответ на: комментарий от bad_master

я вот запускаю ide без четкого плана что хочу сделать и надолго ли это растянется, все как -то хаотично и сумбурно

Разве это проблема для личного проекта? Наоборот хорошо — ты ж 4fun ваяешь, а не как работу. Если хаотичность выливается не только в непонятках насколько растянется и в каком порядке, но и в то, что забываешь, какие фичи нужны, какие не нужны — просто составь список желаемых фич и отмечай галочками, когда сделано (не обязательно делать по порядку всегда). Ну можно ещё тесты для каждой придумать, да.

CrX ★★★★★
()
Ответ на: комментарий от bad_master

Ну это проблемы чисто технические и прям к проекту отношения не имеют.

А так. У тебя есть android аппарат с версий XXX, для его есть конкретная версия Android API, для всего этого есть актуальные на тот момент SDK/NDK, для всего этого есть актуальная на тот момент Ubuntu где есть всё то что нужно нужных версий. Разворачиваешь ту убунту в chroot, внутри него накатываешь SDK/NDK/IDE и разрабатывашь )))))))) Это я чисто в теории, но должно быть всё так. Хотя если у тебя свежая версия андроида, то странно.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

единственное что работает правильно из коробки с минимумом телодвижений - это android studio, а эти qt и visual studio под андроид - дрянь. Еще вариант в веб писать но там надо сервак арендовать, потому что текстуры нужно брать свои

bad_master
() автор топика
Ответ на: комментарий от goingUp

так я не могу писать на плюсах под андроид - теперь что работает так это джава - но она не десктопная а гугловская - теперь надо ее изучать - кошмар, не могли что ли использовать плюсы линуксоидные под андроид

bad_master
() автор топика
Последнее исправление: bad_master (всего исправлений: 1)
Ответ на: комментарий от bad_master

я вот запускаю ide без четкого плана что хочу сделать и надолго ли это растянется, все как -то хаотично и сумбурно

Скорее всего потому, что у вас пока нет архитектуры проекта.

Forum0888
()
Ответ на: комментарий от Forum0888

у меня проблема такая как в игре китайского языка и искусственного интеллекта - приходится самому методом проб и ошибок изучать все с нуля без понимания архитектуры и структуры всех этих манипуляций разного рода

bad_master
() автор топика
Ответ на: комментарий от bad_master

у меня проблема такая как в игре китайского языка и искусственного интеллекта - приходится самому методом проб и ошибок изучать все с нуля без понимания архитектуры

Похоже сначала нужно научиться настраивать среду для разработки.

Forum0888
()

Скорее всего ты уперся в потолок своей квалификации. Твой проект стал слишком сложным для твоего метода разработки, твоей архитектуры, твоего стиля программирования.

Соотв. если он не горит и ты готов несколько месяцев побыть в хаосе, то стоит попытаться поднять квалификацию. Почитать книги по проектированию, послушать ютуб лекции всяких умных людей, икон IT мира (в т.ч. Страуструпа, Линукса и пр) без привязки к языку. Попытаться переосмыслить базу и свой подход. Все это скорее всего приведет к тому, что некоторое время ты будешь абсолютно неработоспособен.

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

soomrack ★★★★★
()
Ответ на: комментарий от bad_master

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

soomrack ★★★★★
()
Ответ на: комментарий от serg002

Простой понятный метод, который работает. Звёздочкой помечаешь что сделал сегодня. Если находишь баг или придумываешь фичу, просто записываешь. Периодически смотришь записи, и если сделал в другой день, помечаешь плюсиком. Если решаешь не делать, помечаешь минусом. Кармак вообще свои записи выкладывал в интернет (через finger), чтобы любой желающий мог видеть прогресс работы над квейком.

fluorite ★★★★★
()
11 июня 2023 г.
Ответ на: комментарий от bad_master

Извиняюсь за некропостинг, но под ведроид можно писать на Си и плюсах, как раз используя API POSIX. Просто для написания проги на крестах придётся написать для неё обёртку на жабе.

Werenter ★★☆
()