Программная инженерия

Q & A для профессионалов, преподавателей и студентов, работающих в жизненном цикле разработки систем

4
Как мне написать тест для чистого метода, который ничего не возвращает?
У меня есть куча классов, которые занимаются проверкой значений. Например, RangeValidatorкласс проверяет, находится ли значение в указанном диапазоне. Каждый класс валидатора содержит два метода:, is_valid(value)который возвращает Trueили Falseзависит от значения, и ensure_valid(value)который проверяет указанное значение и либо ничего не делает, если значение является допустимым, либо выдает конкретное исключение, если значение …

8
Скрам-команда не следует принципу ЯГНИ
На совещании SCRUM команда разработчиков обсуждала функцию API, которая будет использоваться мобильным приложением. У нас был макет, который показал, как должен выглядеть экран и какие ключевые элементы он должен содержать («макет»). Основываясь на этом и на обсуждении с владельцем продукта, я создал прототип для ответа API (HAL + JSON). Это …

2
Существуют ли системы сборки, которые включают в график относительное ожидаемое время выполнения задачи?
Вот небольшая иллюстрация моего вопроса: Предположим, что задание на сборку состоит из 4 независимых задач с именем AD. D занимает больше времени, чем AC в сумме. Система сборки, которая не может включать относительное время выполнения задачи, может планировать задачи следующим образом: --------------------------------------- CPU1: A | C | --------------------------------------- CPU2: B …

1
В чем разница между MVP и чистой архитектурой
Вопрос самоочевиден, просто чтобы добавить мои мысли: насколько я читал, уровень представления в Чистой арке несет такую ​​же ответственность, как и в MV в MVP. Как один решает выбрать один шаблон вместо другого?
13 architecture  mvp 

4
Большой класс с единственной ответственностью
У меня есть Characterкласс 2500 строк, который: Отслеживает внутреннее состояние персонажа в игре. Загружает и сохраняет это состояние. Обрабатывает ~ 30 входящих команд (обычно = перенаправляет их на Game, но некоторые команды только для чтения отвечают немедленно). Получает ~ 80 звонков Gameо действиях, которые он предпринимает, и о действиях других. …

5
Является ли «статический интерфейс» хорошей практикой?
Я только недавно заметил, что есть возможность иметь статические методы в интерфейсах. Как и в случае статических полей интерфейса, есть интересное поведение: они не наследуются. Я не уверен, что это полезно в реальных интерфейсах, которые должны быть реализованы. Тем не менее, он позволяет программисту создавать интерфейсы, которые являются просто оболочками …
13 java  java8 

4
Следуют ли SOLID чтению и записи файлов две разные обязанности?
Я только начинаю изучать SOLID, и я не уверен, что чтение из файлов и запись в файлы являются одной и той же ответственностью. Цель имеет тот же тип файла; Я хочу читать и писать .pdf в моем приложении. Приложение на Python, если это имеет какое-либо значение.

3
стратегии пакетов и версий в среде с несколькими хранилищами
Мы небольшая фирма с несколькими командами, которые управляют своими собственными git-репозиториями. Это веб-платформа, и артефакты каждой команды используются в конце дня для ночных тестов. Мы пытаемся формализовать процесс создания версий и упаковки. У каждой команды есть мастер ветвь, где они занимаются повседневной разработкой. Члены группы обеспечения качества хотят, чтобы артефакты …

1
Может ли методология TDD применяться сверху вниз?
Мне неясно, как TDD, методология, обрабатывает следующий случай. Предположим, я хочу реализовать алгоритм слияния в Python. Я начинаю с написания assert mergesort([]) === [] и тест не проходит с NameError: имя 'mergesort' не определено Я тогда добавляю def mergesort(a): return [] и мой тест проходит. Далее я добавляю assert mergesort[5] …
13 tdd 

1
Почему знаки препинания в таблице ASCII повсюду?
В таблице ASCII знаки препинания появляются между непечатаемыми символами и перед цифрами ( !"#$%&')*+,-./), между цифрами и заглавными буквами ( :;<=>?@), между заглавными буквами ( [\]^_`) и строчными буквами и после строчных букв ( {|}~). На первый взгляд можно ожидать, что они будут сгруппированы вместе; возможно, либо перед всеми буквенно-цифровыми …
13 strings  ascii 

4
Как поощрить начинающих разработчиков участвовать в обзоре кода?
В настоящее время я работаю старшим разработчиком с тремя младшими учениками ниже меня и внедрил процесс проверки кода, чтобы помочь управлять качеством кода, поступающего в производство. Я считаю, что для всех нас очень полезно проверять работу друг друга, однако примерно через 5 недель процесса я единственный, кто оставил какие-либо комментарии …

4
Существуют ли общепринятые рекомендации о том, как писать современный C?
У меня сильный опыт работы с Java / Groovy, и я был назначен в команду, которая поддерживает довольно большую базу кода C для административного программного обеспечения. Некоторые болевые точки, такие как работа с BLOB-объектами в базе данных или создание отчетов в PDF и Excel, были перенесены в веб-службу Java. Однако, …
13 c  maintenance 

3
Это плохой ООП дизайн для симуляции с участием интерфейсов?
Я разрабатываю свою собственную маленькую ООП-программу для симуляции вампиров, волков, людей и грузовиков и пытаюсь реализовать собственное ограниченное понимание интерфейсов. ( Я все еще абстрагируюсь здесь и не имею никакой реализации кода, так что это скорее вопрос ООП-дизайна ... Я думаю!) Прав ли я в поиске «общего поведения» между этими …

4
Методы минимизации количества аргументов функции
В чистом коде написано, что «идеальное количество аргументов для функции равно нулю». Причины почему объяснены и имеют смысл. Что мне нужно, так это методы рефакторинга методов с 4 или более аргументами для решения этой проблемы. Одним из способов является извлечение аргументов в новый класс, но это, безусловно, приведет к взрыву …

3
Почему CSS не допускает однострочные комментарии? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 3 года назад . Я понимаю, что CSS поддерживает только многострочные комментарии, такие как /* foobar */ …
13 css  css3 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.