Нормальная инкапсуляиция - выделение интерфейсов, когда вы просто заявляете что есть, а об остальном потребитель ни сном ни духом. Все эти "private" в языках наследников c++ - от бедности, когда технтчески понадобилось светить все внутренности потребителю класса и не надо проводить с ними параллели и пытаться повторить.
микросервисы решали проблему человеческой памяти архитектурными средствами. AI решает проблему человеческой памяти напрямую, без архитектурных костылей.
Ерунда, напишите код, нарушающий все возможные архитектурные принципы, где каждая фича размазана по всей кодовой базе, где компоненты не существуют принципиально и ни о какой зоне отвественности не идет речь.
Архитектурные границы и правила организации кода - это как раз способ не держать в конетксте всё и уметь быстро найти. Нарушьте это и ваша нейросеть будет страдать так же как человек.
Хотелось бы чтобы доменный слой можно было организовывать исходя из потребностей конкретного домена, а натягивать на примитивы фреймворка. Например, почему бы не существовать операциям, затрагивающим несколько агрегатов. И куда делись все дополнительные адаптеры, доменные сервисы и стратегии которые мы тоже хотим инжектировать? А как насчет приложений которые не имеют постоянного стейта в бд? Много вопросов, не надо превращать DDD в CRUD
В пет проекте у меня покрытие 93%. Какой же это кайф рефакторить. Я на днях взял и переписал значительный кусок и просто следил что все тесты прошли. Если бы у меня их не было, я не знаю как бы с этой задачей справился - очень много вещей стреляло, о которых я уже даже не помнил
Плюсы и js не закладывают в отступы семантику. Код не меняет из-за отступов, можно форматировать как угодн. В питоне сиутация не такая - изменение форматирования может сломать код, поэтому форматирование закладывается на этапе написания - как вижу так он работать и будет. И вот если вдруг ты решил закоммитить сырой сломанный код (мало ли что случилось, очень надо), некоторые форматтеры могут решить что отформатировать его всё равно надо и что-то куда-то передвинуть
Все ещё считаю, что коммитить плохой код - это нормально. Промежуточные результаты работы - тоже результаты и терять их не хочется (например, если это результаты вашего коллеги, который внезапно заболел). Мерджить такой код конечно не надо, но в отдельной ветке пусть лежит, жалко что ли
Почему функции работают долго? Обычно это происходит по трем причинам:
3) Рекурсия — когда функция вызывает саму себя.
Нет, рекурсия не является причиной проблемы
И рекурсивный код и нерекурсивный могут работать одинаково долго просто потому что код так написан (с ошибками или намеренно для упрощения реализации).
Нормальная инкапсуляиция - выделение интерфейсов, когда вы просто заявляете что есть, а об остальном потребитель ни сном ни духом. Все эти "private" в языках наследников c++ - от бедности, когда технтчески понадобилось светить все внутренности потребителю класса и не надо проводить с ними параллели и пытаться повторить.
Рекомендую начать с PEP 1: https://peps.python.org/pep-0001/
А потом обратить внимание на PEP 0: https://peps.python.org/pep-0000/
И мой любимый PEP 404: https://peps.python.org/pep-0404/
Ерунда, напишите код, нарушающий все возможные архитектурные принципы, где каждая фича размазана по всей кодовой базе, где компоненты не существуют принципиально и ни о какой зоне отвественности не идет речь.
Архитектурные границы и правила организации кода - это как раз способ не держать в конетксте всё и уметь быстро найти. Нарушьте это и ваша нейросеть будет страдать так же как человек.
А пожалуйста, расскажите про "низкокачественные места", очень хочу послушать
Хотелось бы чтобы доменный слой можно было организовывать исходя из потребностей конкретного домена, а натягивать на примитивы фреймворка. Например, почему бы не существовать операциям, затрагивающим несколько агрегатов. И куда делись все дополнительные адаптеры, доменные сервисы и стратегии которые мы тоже хотим инжектировать? А как насчет приложений которые не имеют постоянного стейта в бд? Много вопросов, не надо превращать DDD в CRUD
А можно, пожалуйста, не тащить в домен фреймворки?
В пет проекте у меня покрытие 93%. Какой же это кайф рефакторить. Я на днях взял и переписал значительный кусок и просто следил что все тесты прошли. Если бы у меня их не было, я не знаю как бы с этой задачей справился - очень много вещей стреляло, о которых я уже даже не помнил
Плюсы и js не закладывают в отступы семантику. Код не меняет из-за отступов, можно форматировать как угодн. В питоне сиутация не такая - изменение форматирования может сломать код, поэтому форматирование закладывается на этапе написания - как вижу так он работать и будет. И вот если вдруг ты решил закоммитить сырой сломанный код (мало ли что случилось, очень надо), некоторые форматтеры могут решить что отформатировать его всё равно надо и что-то куда-то передвинуть
Пусть улучшает отдельным коммитом. А то так улучшит, что не откатить потом
Окончанием мысли могу быть тесты. Сломанные :) потому что как их чинить - это другая мысль
Я в пет проекте сейчас 2 недели пилю новую сложную фичу. До стабильной версии ещё много, постоянно что-то не так. Мне не коммитить?
Нет, коммит - это не стабильная версия. Это окончание какой-то мысли, какого-то этапа работы. Стабильная версия будет после мерджа
Все ещё считаю, что коммитить плохой код - это нормально. Промежуточные результаты работы - тоже результаты и терять их не хочется (например, если это результаты вашего коллеги, который внезапно заболел). Мерджить такой код конечно не надо, но в отдельной ветке пусть лежит, жалко что ли
Нет, рекурсия не является причиной проблемы
И рекурсивный код и нерекурсивный могут работать одинаково долго просто потому что код так написан (с ошибками или намеренно для упрощения реализации).
А как же "Пишите код на любимом языке"?
В markdown вообще разрешено html использовать
Открыл свой компьютер, не увидел там вашего кода Block Blast. Вы уверены, что именно так происходит демонстрация ваших результатов?
а можно посмотреть что за тесты там?
как насчет метрики покрытия тестами требований?
я не знаю julia, можете показать как будут выгдятеть аналоги этого кода?
Это и есть выражения, просто они вычисляются в момент создания функции. Иначе бы возникли другие вопросы и другие претензии.
А разное повдение y=x; x=x+1 и x=x+1; y=x? Это разные вещи и делают они разное. Более того, оно иногда и используется намеренно (хотя мы осуждаем).