Kagon

Пользователь

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

Kagon

Регистрация: 14.03.2017

Сообщения: 12770

Рейтинг: 7256

Писать код без какого-либо плана как-то не особо, и я этим всегда грешил.

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

HealSlut

Пользователь

Регистрация: 25.08.2018

Сообщения: 2272

Рейтинг: 7363

HealSlut

Регистрация: 25.08.2018

Сообщения: 2272

Рейтинг: 7363

img

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

denton

Пользователь

Регистрация: 31.10.2017

Сообщения: 21956

Рейтинг: 7034

Нарушения: 105

denton

Регистрация: 31.10.2017

Сообщения: 21956

Рейтинг: 7034

Нарушения: 105

img

Зачем тебе архитектура, если ты соло разработчик? Архитектура - это для больших компаний. 

Поищи книги в интернете, я вроде видел какие-то, но мне было лень читать. 

saw_tooth

Пользователь

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3286

saw_tooth

Регистрация: 20.08.2013

Сообщения: 5550

Рейтинг: 3286

Kagon сказал(а):

Как научиться создавать архитектуру, а то я тупой и мне сложно

Нажмите, чтобы раскрыть...

Этим занимаются проектировщики, кодеры должны просто писать код.

panicPlayer

Пользователь

Регистрация: 15.07.2019

Сообщения: 538

Рейтинг: -25

Нарушения: 110

panicPlayer

Регистрация: 15.07.2019

Сообщения: 538

Рейтинг: -25

Нарушения: 110

Kagon сказал(а):

Писать код без какого-либо плана как-то не особо, и я этим всегда грешил.

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

Нажмите, чтобы раскрыть...

enterprise architect

покупай, качай, учи, властвуй)

 

saw_tooth сказал(а):

Этим занимаются проектировщики, кодеры должны просто писать код.

Нажмите, чтобы раскрыть...

почему? Для общего развития полезно таким как Enterprise Architect пользоваться, делать use кейсы

cgwic

Пользователь

Регистрация: 04.10.2014

Сообщения: 1050

Рейтинг: 317

cgwic

Регистрация: 04.10.2014

Сообщения: 1050

Рейтинг: 317

Kagon сказал(а):

Писать код без какого-либо плана как-то не особо, и я этим всегда грешил.

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

Нажмите, чтобы раскрыть...

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

То же самое касается архитектуры. Если ты в одиночку пишешь проект, то не нужно пользоваться инструментами энтерпрайз уровня. Достаточно просто описать примерный функционал, который ты хочешь получить в итоге, постараться максимально его урезать, выкинув остальное в будущие релизы. Соответственно этому функционалу подобрать необходимые инструменты, которые закроют ответы на вопросы типа: где хранить данные? каким будет интерфейс? и тп. Подобрать набор знакомых уже вещей, так как учиться в процессе создания чего-то нового - это затратно (с другой стороны если цель именно в изучении через практику, тогда это имеет смысл, но как я понял здесь речь не об этом). И собственно начать погружаться на более низкие уровни абстракции для каждого юнита участвующего в создании необходимого тебе функционала.

 

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

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