@DragorWW Код не чайник, его могут удалить или переписать через неделю, а могут не трогать годами. И вообще все эти рассуждения максимально странные. Люди, к примеру, до сих пор играют в игры с 8 и 16 битных приставок.
@DragorWW А, это всё опять для ИИ, понятно.
Я себе как-то писал node скрипт который собирал граф с точки зрения функционального мышления, чтобы проще было ревьювить архитектуру.
Что нужно от музыкального плеера и как он выглядит на самом деле.
Вишенка на торте — незакрываемые уведомления о новых версиях…
В какой момент простые и функциональные интерфейсы превратились в радужную дрисню?
@DmitryY44970522@DragorWW А что такое правильная, удобная и очевидная?
Вот простой пример. Как без соглашений понять, что означает $ в названиях конкретных папок? Или, чем ui отличается от view?
Не вся лень одинаково полезна.
Можно сегодня продумать архитектуру, и потом тратить меньше времени на доработки и исправления.
А можно сегодня полениться, и в итоге засрать проект так, что потом проще будет поменять работу чем это поддерживать.
Лень сейчас != лень потом.
На примере ПДД. Там не просто правила, но и система материального наказания. И при этом, очень много нарушений…
А мы тут про какую-то архитектуру… нет рисков жизни, нет наказаний, правила есть не у всех, а кто-то не знает что это такое.
Давайте честно, многим просто пофиг.
Об этом мало кто говорит, но архитектура это просто правила
Многие думают, что плохая архитектура это отсутствие хороших правил, но на деле, плохая архитектура это просто отсутствие правил
Я видел много проектов, во многих из них разработчики жаловались на плохую архитектуру
Но на деле в них просто не было никаких договоренностей, кодовая база просто как-то развивалась, смотря на часть системы было невозможно сделать верное предположение про организацию других частей этой же системы
Ты читаешь кодовую базу и скорее видишь в ней годовые кольца подходов нежели цельную систему
Многие думаю, что залог успеха кроется в построении идеальной, лучшей, верной системы, упуская самое главное, что в первую очередь мы строим систему
В некотором смысле, это похоже на синдром отложенной жизни, только в инженерной плоскости:
Ради непонятно чего, люди готовы тратить часы и даже годы на споры, не создавая никаких правил сейчас, в надежде что когда-то потом будет тот самый идеальный момент, а пока мы ещё не готовы.
Я думаю не все читали определение архитектуры, я тоже не сразу пошел его читать, а только спустя годы как им активно оперировал:
Архитектура - это набор правил по организации элементов системы и связей между ними.
Когда я его впервые увидел, я в глубине души, если честно, не поверил: неужели все так просто? Да быть того не может, пойдука найду определение получше...
Скажу честно принятие этого происходит не сразу, дайте себе время, ну и давайте время другим, лучшее что мы можете сделать для вашего проекта, если у вас есть проблемы, просто начать фиксировать правила, помогать им следовать, помогать коллегам продвигать свои идеи, ... договариваться.
Это наверное ещё более не очевидная штука, но правила самой системе, не сказать что нужны, они нужны людям, тем кто ее меняет
Мы часто думаем что накладываем правила на систему, но следовать им должны люди
Если люди не договорятся, если не будут следовать, передавать и защищать правила, то и архитектуры у вас не будет.
А когда у вас ее нет, не так важно плохое правило или хорошее вы не смогли принять
Так что когда в следующий раз поймаете себя на мысли что где-то вокруг вас плохая архитектура, найдите одного коллегу и попробуйте хотя бы с ним договориться о чём-то.
И помните соглашения привыше конфигураций.
Найм в IT сегодня как рынок подержанных авто — армия перекупов впаривает хлам со смотанным пробегом, а норм варианты от собственников никому не нужны. Просто первые знаю как продавать, а вторые нет.
И в обоих случаях виноваты не только «продавцы» но и «покупатели».
Кажется, что все мои попытки продвижения «функционального мышления» и «думай над архитектурой, структура получится сама», в рабочем проекте, провалились…
Собственно, как и посты на эту тему в ТГ канале.
Архитектура реально ни кому не нужна?
По мотивам стрима: привычный побег программиста - архитектура, инфраструктура, папочки и фреймворки, утилиты, логирование, оптимизация, системное программирование.... только бы не писать доменную логику.
Потому что там нужно понимать бизнес, людей, общаться нужно, а не сидеть и задрачивать код. Находить общий язык сложно, понимание налаживать сложно. А есть еще деньги и ответственность, нужно вникать в потребность пользователя, а еще сроки, уметь расставлять приоритеты, уменьшать неопределенность и принимать решения в условиях нехватки информации.
Архитектура и оптимизация нужны, но они очень похожи в типовых случаях, и они могут быть вынесены в системный код. Нужно делать доменный код, и так, чтобы он был проще и полезнее. Иначе инженерия превращается в бегство от реальности.