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

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

7
Команда оценивает сюжетные моменты, бизнес хочет реального времени
Я уверен, что это не редкая тема. У нас есть две команды разработчиков, которые хорошо справляются с оценкой пользовательских историй, используя сюжетные очки (текущим групповым созвездиям всего около 8 месяцев, хотя члены команды имеют несколько лет опыта в разработке). Но деловой части компании трудно соотноситься с историями пользователей; им нужны …
15 scrum  estimation 

3
Как правильно управлять сценариями разработчика?
Разработчики создают сценарии, которые помогут в их работе. Например, чтобы запустить Maven с определенными параметрами, убить ненужные фоновые задачи, которые возникают в процессе разработки, или подключиться к определенному серверу. Эти сценарии не являются основными сценариями сборки и не используются на нашем сервере непрерывной интеграции. Как лучше всего управлять ими? Поместить …

6
Держать «код» подальше от дизайнеров?
Я строю довольно много проектов с моим другом, но мы всегда сталкиваемся с одной и той же ловушкой снова и снова. Я знаю, как писать PHP, Javascript и все такое (я также знаю CSS и HTML), поэтому я могу выполнять большую часть работы, когда дело доходит до создания реальной функциональности. …
15 design  cakephp 

3
Управление версиями REST API. Каждый API имеет свою версию
Очень часто указывается версия API REST в URL-адресе, особенно в начале пути, например что-то вроде: POST /api/v1/accounts GET /api/v1/accounts/details Тем не менее, я не видел ни одного дизайна, где версия связана с каждым API. Другими словами, мы поддерживаем версию каждого API отдельно. то есть: POST /api/accounts/v2 GET /api/accounts/details/v3 Используя этот …

9
Следует ли проверять значения перечисления с помощью модульных тестов?
Если у вас есть только перечисление со значениями (нет методов, которые можно было бы сделать в Java), и это перечисление является частью бизнес-определения системы, следует ли писать для него модульные тесты? Я думал, что они должны быть написаны, даже если они могут показаться простыми и избыточными. Я считаю, что то, …

1
Регистратор Java: инициализация статического блока или инициализация в объявлении переменной
В настоящее время я использую регистратор в своем проекте следующим образом: private static final Logger LOGGER; static{ LOGGER = logger.getLogger(); } Я получил обзор кода для использования статического блока для инициализации переменной регистратора. Мне сказали инициализировать переменную logger в самом объявлении. private static final Logger LOGGER = Logger.getLogger(); Я пытаюсь …
15 java 

1
Почему Protobuf 3 сделал все поля в сообщениях необязательными?
Синтаксис 3 protobuf сделал все поля необязательными, исключая ключевые слова requiredи optionalиз предыдущего синтаксиса proto2. Читая некоторые комментарии разработчиков, кажется, что это было сделано для улучшения прямой / обратной двоичной совместимости. Но для меня это может быть реализовано путем простого управления версиями имен пакетов, скажем, com.example.messages.v1а затем позволить клиентам реализовывать …

5
Нужно ли обновлять старый код, чтобы использовать более новые языковые конструкции, или нужно придерживаться устаревших конструкций?
Я хочу внести некоторые улучшения в некоторый все еще функциональный код, который был написан давным-давно, прежде чем язык программирования, в котором он написан, расширился. Теоретически, весь проект использует современную версию языка; однако этот конкретный модуль (и фактически многие другие модули) все еще написаны на старом диалекте. Нужно ли мне: Не …

5
Булево возвращение set.add (), если условно?
Оператор add класса set возвращает логическое значение, которое имеет значение true, если элемент (который должен быть добавлен) еще не существует, и false в противном случае. Пишет if (set.add(entry)) { //do some more stuff } считается хорошим стилем с точки зрения написания чистого кода? Мне интересно, так как вы делаете две …

6
Использование различных компиляторов C ++ и языковых версий при разработке одного исполняемого файла
Наша компания приобретет большой и очень сложный фрагмент исходного кода для спутниковой связи. Он написан на C ++, и мы будем кодировать дополнения к нему, также на C ++, связывая наш код с приобретенным кодом в единый исполняемый модуль. Необходимо ли использовать тот же компилятор и ту же версию компилятора, …
15 c++ 

5
Лучшие практики для обработки большого количества структурированных файлов конфигурации / свойств
Представьте себе систему с большим количеством серверов. Каждый из них имеет ряд настроек: Некоторые специфичные для сервера Некоторые специфические для региона Некоторые общие для всех них Может быть, вы можете иметь несколько пользовательских групп, как эта группа серверов только для чтения и т.п. Текущая практика, которую я имею в виду, …

1
RESTful API и i18n: как оформить ответ?
Мы разрабатываем RESTful API, который в основном предназначен для удовлетворения потребностей одного клиента. Из-за особых обстоятельств этот клиент должен сделать как можно меньше запросов. API обрабатывает i18n через заголовок Accept-Language в запросах. Это работает для всех вещей, которые должен сделать клиент, за исключением одной функции, в которой клиент должен хранить …
15 rest  api  api-design  http 

3
Насмешка вводит обработку в производственный код
Предполагая интерфейс IReader, реализацию интерфейса IReader ReaderImplementation и класс ReaderConsumer, который потребляет и обрабатывает данные из считывателя. public interface IReader { object Read() } Реализация public class ReaderImplementation { ... public object Read() { ... } } Потребитель: public class ReaderConsumer() { public string location // constructor public ReaderConsumer() { …

4
Извлечение значения без проверки нуля в Java
Много раз, когда я выбираю значение из некоторой иерархии данных, я проверяю себя на нуль, чтобы избежать исключений NullPointerExceptions, которые, как я считаю, подвержены ошибкам и требуют большого количества шаблонов. Я написал очень простую процедуру, которая позволяет мне пропустить проверку нуля при получении объекта ... public final class NoNPE { …
15 java  null 

3
Использует ли Redux очищенный шаблон объекта God?
Когда я узнал о Redux, шаблон God-object (или anti-pattern) пришел мне на ум - оба имеют один большой объект, содержащий все данные приложения и методы для их манипулирования. Но Redux наложил некоторые ограничения, такие как сделать объект неизменным, а события - чистыми функциями, поддерживающими строгую подпись. Таким образом, возник вопрос, …
15 redux 

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