Задать вопрос
Ответы пользователя по тегу Проектирование программного обеспечения
  • Как залезть на несколько уровней абстракции ниже, не плодя кривой код?

    lxsmkv
    @lxsmkv
    Test automation engineer
    может запрашивать только команды для определенного сервиса? при таком подходе можно выполнять обработку асинхронно. будет выигрыш в перформансе. (чем больше логики в передающем механизме тем больше он становится узким местом. парсинг xml вообще дело сравнительно медленное) тогда разбирать сваленные в кучу данные придется сервису подающему вам данные.
    Ответ написан
    Комментировать
  • Болезнь творца или как создать свой виртуальный мир?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Вот инструмент для разработки игр и десктопных программ на PHP develnext.org/ru
    Начните с написания диздока. В нем кроме всего прочего описана механика игры в мельчайших подробностях. Без него вы закопаетесь в коде по уши и никогда не закончите свой проект.
    Насчет клона игры Жизнь для разминки, тоже согласен. Чтобы понять как работает подобная симуляция.
    Сложность на мой взгляд в императивном описании поведения каждого агента и мира.
    Хотите поэкспериментировать с агентным моделированием, попробуйте NetLogo.
    Ответ написан
    Комментировать
  • Можно ли написать программу, не имея никакой документации и техзадания?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Если все что вы знаете о программе, вы и дальше собираетесь держать у себя в голове, и никогда и ни с кем этим знанием не делиться, то можно не писать никаких документов.
    Ответ написан
    Комментировать
  • Как разработать web-проекты на примере новостного сайта или интернет-магазина?

    lxsmkv
    @lxsmkv
    Test automation engineer
    В современной веб разработке этапы примерно такие:
    а) найти подходящий готовый конструктор (cms или фреймворк)
    б) прочитать его документацию
    в) зафигачить сайт.

    - базу данных проектировать тоже не придется, фреймворк/cms все сделают за вас. (хотя в случае с фреймворком, придется как-то описать структуру данных которые вы будете хранить. Как это делается, обычно описано в документации к фреймворку)
    - при использовании фреймворка всегда есть рекомендованая или стандартаная структура папок (описаная в документации) ее и нужно придерживаться.
    - фреймворк дает больше гибкости, но нужно больше разбираться. cms больше подходит для типовых проектов.
    Ответ написан
    1 комментарий
  • Реализация свойства как объекта: паттерн или антипаттерн?

    lxsmkv
    @lxsmkv
    Test automation engineer
    попробуйте написать для ваших объектов юнит-тесты - если это будет легко и удобно - архитектура годная.
    Ответ написан
    Комментировать
  • Есть ли тома книг Randall Hyde: Write great code на русском?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Значит это не та книга ради которой стоит мучаться с переводом. Все действительно стоящие книги были переведены на русский язык. (Имя автора на хабре не упоминается. А это о чем-то говорит. )
    Ответ написан
    Комментировать
  • Как избавиться от привычки усложнять задачу?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Полезно пытаться абстрагировать задачу от конкретных вещей ближе к математике. Шелуха килограммами отпадает.
    Ответ написан
    Комментировать
  • Как прокачать навык разработки архитектуры информационной системы?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Разбивание предметной области на классы называется декомпозицией.
    Почитайте про Domain Driven Design
    Хорошая ахтитектура - удобная архитектура, она гибкая, позволяет писать минимум кода. Она позволяет горизонтальное и вертикальное расширение, без конфликтов. Она позволяет писать модульные тесты. Она проста и понятна - обьяснить ее можно на одном листе бумаги за чашкой кофе. Вобщем когда вам ничего не мешает - архитектура хорошая :)
    Ответ написан
    Комментировать
  • Входит ли в обязанности архитектора обзор цен на стек технологий?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Неважно архитектор вы или нет, но если вы предлагаете техническое решение, то вопрос резонный со стороны тех кто будет открывать кошелек, сколько все это обойдется. В принципе-то хороший индикатор что вашим решением заинтересовались, если думают о деньгах. Значит оно решает насущные проблемы, а не пространные теории неизвестно о чем.
    Отказаться предоставить приблизительную смету будет со стороны смотреться как будто вы этим вопросом никогда не интересовались а это в свою очередь значит что вы не учитываете интересы потенциальных заказчиков или фирмы. Ваша смета не должна быть особенно точной, людям нужно представление сколько нулей у итоговой суммы :) Укажите что цены на текущий момент. Если спросят а можно ли дешевле, то будете думать дальше а так среднего арифметического на салфетке вполне хватит.
    Ответ написан
    1 комментарий
  • Нужно ли создавать модель данных под произвольные выборки с базы данных (архитектура приложения)?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Надо сказать что все эти паттерны дело такое.. одна и та же статья в википедии на трех языках по разному определяет три слоя MVVM. С т.з. ООП класс нужен всегда, для группировки данных и методов работы с этими данными.
    По смыслу это будет слой ModelView связка интерфейса и модели. Цитата википедии "предоставляет обёртку данных из Модели, которые подлежат связыванию. То есть, она содержит Модель, которая преобразована к Представлению, а также содержит в себе команды, которыми может пользоваться Представление, чтобы влиять на Модель."
    Ну ведь выборка она то и есть.
    Ответ написан
    2 комментария
  • Как реализовать систему бонусов?

    lxsmkv
    @lxsmkv
    Test automation engineer
    gameprogrammingpatterns.com/observer.html
    тут описывается как через шаблон наблюдатель реализуется система реакций на события-достижения.
    Ответ написан
    Комментировать
  • Отсутствие валидации - баг или особенность работы программы (архитектурный недочёт)?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Программа при определенных условиях дает сбой. Для тестировщика это баг.

    У нас например не предусмотрена проверка ТЗ, и требований тестировщиками. У нас проверка идет пост-фактум.
    Ничего не поделаешь. Была бы проверка требований - можно было бы на этом этапе предотвратить некоторые недочеты, которые впоследствии бы привели к сбою.

    У нас так: если разраб может решить проблему самостоятельно не нарушая существующих требований и протоколов коммуникации компонент, то он просто делает это. Если нужны правки в спецификации или еще где пишутся отдельные заявления на исправление, и присоединяются к первоначальному заявлению. Все вполне стандартно.
    Ответ написан
    Комментировать
  • Что почитать по архитектуре приложения?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Мне помогает задать себе вопрос, "смогу ли я тестировать эти слои по отдельности"? И если нет простого ответа, то архитектура нуждается в доработке.
    Ответ написан
    1 комментарий