Архив рубрики ‘Проектирование и рефакторинг’

Диаграмма Деятельности и Диаграмма Состояний (англ. Activity diagram & State machine diagram)

Каждая программа начинается с идеи, однако путь от идеи до готового продукта достаточно долог. На этом пути будут поджидать множество сложных вопросов, от решения которых зависит успех. Неверные ответы могут значительно усложнить проект, а правильные сделать эту дорогу легкой. Цикл статей о проектировании, призван показать один из возможных путей, достижения успеха, через проектирование программного обеспечения […]

Диаграмма Прецедентов (англ. Use Case Diagram)

Конечно, каждая программа начинается с идеи, однако путь от идеи до готового продукта достаточно долог. На пути будут поджидать множество сложных вопросов, неверные ответы на которые, могут значительно усложнить проект или вообще завести вас в тупик. Цикл статей о проектировании, призван показать один из возможных путей, достижения успеха, через проектирование программного обеспечения с использованием UML […]

Проектирование: Начало

Конечно, каждая программа начинается с идеи, однако путь от идеи до готового продукта достаточно долог. На пути будут поджидать множество сложных вопросов, неверные ответы, поиск оптимальных решений, принятие компромиссных решений, все это значительно усложняет проект или вообще может завести вас в тупик. Цикл статей о проектировании, призван показать один из возможных путей, достижения успеха, через […]

System Design Interview. Шаблон прохождения собеседования этого этапа

Недавно я собеседовался в Амазон и Майкрософт в офисы в Испании (так как я тут живу). Пока готовился много что понял, сейчас поделюсь. Собеседование на проектирование систем. Проходят по определенному шаблону, если прийти не подготовленным, не зная этого шаблона, можно просто впасть в ступор, а по шаблону вы можете расписать проблему даже с которой не […]

Запросы задач Redmine. Как мы их усовершенствовали и как используем

Коробочный Redmine имеет достаточно гибкую систему запросов. Задачи можно фильтровать практически по всем полям, выбирая нужные, группировать вывод и сортировать результаты. Cтолкнувшись с использованием Redmine в качестве единой информационной среды в компании, мы пришли к выводу, что стандартный функционал запросов использовать не совсем удобно. Первая причина – это большое общее количество запросов.

Как я документирую процесс разработки

Вы пишите лишнюю документацию для вашего проекта? Нет? Тогда вам ее недостаточно! Угадать для каждого конкретного проекта необходимый объем технической документации крайне сложно и важно. Важно — потому, что от этого зависит скорость процесса, качество и стоимость. Сложно — потому что сам процесс может меняться со временем, могут меняться исполнители, да и для заданного состояния […]

Рентабельный код

Жили-были в двух соседних деревушках Вилларибо и Виллабаджо две команды разработчиков. И те и другие делали ревью кода, писали тесты, приводили рефакторинг, но через год разработки в Вилларибо уже выпустили релиз и вышли в продакшн, а в Виллабаджо все еще проводят рефакторинг и чинят баги. В чем же дело? Разработка ПО – область, подверженная рискам. […]

Просто о сложном. Архитектура ПО

Недавно я написал: Для программных продуктов еще не придумали адекватные инструменты визуализации. Об этом говорил еще Брукс, почти 40 лет назад. Поэтому разработчики ПО часто уподобляются слепым монахам из буддийской притчи. Следствие #5. Необходимость постоянных коммуникаций участников разработки. Из опыта. В среднем у каждого участника проекта разработки ПО на всякие разговоры уходит 50% рабочего времени. […]

15 вещей, которые мы хотели бы знать перед разработкой стартапа

За четыре года работы над онлайн консультантом WebConsult мы накопили достаточно большой опыт, и оказалось, что изначально мы не учли многих вещей, которые потом приходилось переделывать – в итоге это стоило нам массы времени, средств и нервов. Эта статья, а возможно и цикл статей, будут посвящены аспектам, которые необходимо продумать еще до начала разработки, дабы […]

8 вещей, которых не должен бояться разработчик

Изменять код В процессе разработки программного обеспечения нет такого понятия, как «стагнация». Все, что вы разрабатываете сейчас — просто очередная версия компонента, который вероятно будет меняться в будущем. Изменение является самой распространенным явлением в мире разработки программного обеспечения и вам лучше принять это как факт. Рассчитывайте на возможные изменения всего, что вы разрабатываете и поэтому […]

12