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

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

1
Разработка структуры приложения, которая позволит каждой реализации настраивать части пользовательского интерфейса.
Мне поручено разработать структуру приложения, которая позволит каждой реализации настраивать части пользовательского интерфейса. Одним из таких примеров может быть то, что реализация (давайте теперь будем называть ее клиентом) может определять ячейки представления коллекции для возврата к определенному экрану. Фреймворк просто отвечает за продажу соответствующих объектов, чтобы значительно упростить создание приложения, …

4
Нужно ли открывать исходный код, если для получения данных я использую лицензионное программное обеспечение GPLv2?
Я работаю над проектом календаря, самостоятельно. В этом проекте я использую швейцарские эфемериды . Он лицензирован под GPLv2 и коммерческий. С коммерческой версией лицензии разработчики имеют право распространять программное обеспечение по своему желанию. Но так как это мой личный проект, я должен использовать лицензию GPLv2. Используя библиотеку и файл данных, …

3
Как лучше всего привлечь младшего разработчика к разработке приложения с нуля? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Мы команда из 3 разработчиков (2 опытных разработчика и младший). Мы только начали …

3
Нужна помощь в определении алгоритма планирования лиги
Я пытаюсь создать планировщик спортивной лиги. У меня проблемы с определением алгоритма, который поможет мне эффективно заполнить каждый слот. Пример данных для построения графика будет: 10 команд Каждая команда играет друг с другом 1 раз (требуется 45 игр) Каждая команда играет не более 1 раза в день В своем тестировании …

3
Алгоритмы для создания мозаики изображений - есть ли более быстрый способ, чем этот?
Я играл с созданием мозаики изображений. Мой сценарий берет большое количество изображений, масштабирует их до размера миниатюры, а затем использует их в качестве плиток для аппроксимации целевого изображения. Подход на самом деле довольно приятен: Я вычисляю среднеквадратичную ошибку для каждого большого пальца в каждой позиции тайла. Сначала я просто использовал …

4
Когда метод класса должен возвращать тот же экземпляр после изменения самого себя?
У меня есть класс, который имеет три метода A(), B()и C(). Эти методы изменяют собственный экземпляр. В то время как методы должны возвращать экземпляр, когда экземпляр является отдельной копией (просто как Clone()), я получил свободный выбор возврата voidили того же экземпляра ( return this;) при изменении того же экземпляра в …

2
Вывод типа в Голанге / Хаскеле
Я читал, что на самом деле Go не имеет истинного вывода типа в том смысле, в котором функциональные языки, такие как ML или Haskell, имеют, но я не смог найти простого для понимания сравнения двух версий. Может ли кто-нибудь объяснить в общих чертах, как вывод типа в Go отличается от …

1
Шаблон меню
У меня возникают проблемы с обработкой меню в активном состоянии, когда оно не используется для маршрутизации. Я из Друпала, где система меню также обрабатывает маршрутизацию. поэтому установка активного состояния и состояния активного маршрута обрабатывается маршрутом (который также действует как система рендеринга меню). Сейчас многие PHP-фреймворки имеют классы Router, которые обрабатывают …

4
Модель отношений с DDD (или со смыслом)?
Вот упрощенное требование: Пользователь создает Questionс несколькими Answerс. Questionдолжен быть хотя бы один Answer. Уточнение: подумайте Questionи Answerкак в тесте : есть один вопрос, но несколько ответов, где немногие могут быть правильными. Пользователь - это актер, который готовит этот тест, поэтому он создает вопросы и ответы. Я пытаюсь смоделировать этот …

4
Пропуск "деструкторов" в Си слишком далеко заходит в YAGNI?
Я работаю над средним встроенным приложением в C, используя OO-подобные методы. Мои "классы" - это модули .h / .c, использующие структуры данных и структуры указателей функций для эмуляции инкапсуляции, полиморфизма и внедрения зависимостей. Теперь можно ожидать, что myModule_create(void)функция придет с myModule_destroy(pointer)аналогом. Но когда проект внедряется, ресурсы, которые реально создаются, никогда …

1
Тестовый разрыв между модулем и интеграцией: интеграция в малом, тестирование интеграции компонентов, тестирование модулей
За последние несколько недель я размышлял и изучал, как заполнить пробел в нашей методологии тестирования. Упрощенно, юнит-тесты слишком малы, а традиционные интеграционные тесты слишком велики. Частым сценарий придумывает , где Aи Bкак использовать компонент C. Однако Aи Bимеют несколько иные требования, и делают несколько иные предположения C. Если я разработчик …

3
Является ли дублирующий синтаксис для определения именованных функций плохим решением для проектирования языка?
Я забавляюсь языком программирования, и его синтаксис находится под сильным влиянием Scala, в частности определений функций. Я столкнулся с проблемой проектирования, потому что мой язык не различает функции, определенные с помощью defсинтаксиса (методы класса), и анонимные функции, назначенные значениям (созданные с использованием =>) - он устраняет различия как в реализации, …

6
Разделить большие интерфейсы
Я использую большой интерфейс с около 50 методов для доступа к базе данных. Интерфейс был написан моим коллегой. Мы обсуждали это: Я: 50 методов это слишком много. Это кодовый запах. Коллега: что мне с этим делать? Вы хотите доступ к БД - у вас есть. Я: Да, но это неясно …

4
Был ли .NET IObserver <T> предназначен для подписки на несколько IObserable?
В .NET есть интерфейсы IObservable и IObserver (также здесь и здесь ). Интересно, что конкретная реализация IObserver не содержит прямой ссылки на IObservable. Он не знает, на кого он подписан. Это может только вызвать отписчика. «Пожалуйста, потяните за булавку, чтобы отписаться». редактировать: отписчик реализует IDisposable. Я думаю, эта схема была …

1
Как разобрать составные данные поля / файла отдельно?
Я хочу проанализировать составную форму дважды: один раз, чтобы получить входящие поля, а затем обработать загрузку файла. Я пытаюсь поддерживать правильное разделение проблем в моем приложении Node: Контроллер отвечает за обработку входящих полей. Модель отвечает за логику загрузки файла. Мне нужно передать данные полей в модель, чтобы создать новый экземпляр, …
9 data  node.js  upload 

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