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

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

6
Как бы это было запрограммировано в не-OO? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 2 года назад . Читая ужасную статью о минусах ООП в пользу какой- то другой парадигмы, я …

3
Как правильно обрабатывать глобальные параметры для модульного тестирования в python?
Мы реализуем множество алгоритмов, которые обычно имеют много общих, общеизвестных и важных для безопасности параметров. В настоящее время мы просто используем класс, содержащий все параметры и два предопределенных глобальных объекта: class PublicParams(object): p = q = 0 def __init__(self, p, q): self.p = p self.q = q # used for …

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

6
Являются ли разборки и стабильное развитие противоречием?
Я являюсь частью группы разработчиков с 5 командами, всего около 40 разработчиков. Мы следуем методологии Scrum с 3-недельными спринтами. У нас есть установка непрерывной интеграции (Jenkins), конвейер сборки которой занимает несколько часов (из-за обширных автоматических тестов). В основном процесс разработки работает хорошо. Однако мы наблюдаем, что после нескольких дней нового …

4
Должен ли я создать полнофункциональное приложение или приложение, а затем медленно добавлять функции?
Я работаю на заводе-изготовителе, который поручил ИТ-отделу создать программу планирования работы цеха (что крайне необходимо). Основываясь на опыте других, было бы лучше потратить меньше времени и создать базовую платформу, которую можно использовать, а затем основываться на ней, добавляя функции, или начните с создания полностью внедренного решения прямо из шлюза. Я …

1
Служба REST в качестве сервера приложений для 2000+ клиентских машин. Это хорошая идея?
Мы будем строить систему с пользовательским интерфейсом в javaFx, которая будет развернута на более чем 2000 компьютерах (минимум 2000, но будет больше - может достигать 5000 машин). По другим причинам / ограничениям он должен быть установлен на машине, поэтому мы не можем сделать это с помощью интерфейса веб-браузера. Машины 2000+ …
11 java  design  rest  spring 

4
Как указать предварительное условие (LSP) в интерфейсе в C #?
Допустим, у нас есть следующий интерфейс - interface IDatabase { string ConnectionString{get;set;} void ExecuteNoQuery(string sql); void ExecuteNoQuery(string[] sql); //Various other methods all requiring ConnectionString to be set } Предварительное условие состоит в том, что ConnectionString должен быть установлен / инициализирован, прежде чем любой из методов может быть запущен. Это предварительное …

3
Как выполнить проверку входных данных без исключений или избыточности
Когда я пытаюсь создать интерфейс для конкретной программы, я обычно стараюсь избегать исключений, которые зависят от неподтвержденного ввода. Поэтому часто случается так, что я думаю о таком фрагменте кода (это просто пример ради примера, не обращайте внимания на функцию, которую он выполняет, пример в Java): public static String padToEvenOriginal(int evenSize, …

6
Называние: Вы должны пожертвовать краткостью для ясности?
Например, следующая функция перебирает массив, который содержит имя и ошибки поля ввода. Это делается путем проверки имени проверяющего поля, а затем отправки информации об ошибке в массив неверных полей. Лучше быть кратким и написать это: addInvalidField (field, message) { const foundField = this.invalidFields.find(value => { return value.name === field.name }) …

2
CQRS без DDD и без (или с?) ES - что такое модель записи и что такое модель чтения?
Насколько я понимаю, основная идея CQRS - это две разные модели данных для обработки команд и запросов. Они называются «модель записи» и «модель чтения». Давайте рассмотрим пример клонирования приложения Twitter. Вот команды: Пользователи могут зарегистрироваться самостоятельно. CreateUserCommand(string username)излучаетUserCreatedEvent Пользователи могут подписаться на других пользователей. FollowUserCommand(int userAId, int userBId)излучаетUserFollowedEvent Пользователи могут …
11 cqrs  read-model 

2
Отделение бизнес-логики от DB-логики с транзакциями
У нас есть три слоя в нашем приложении. Сервисный уровень для предоставления внешнего API. Уровень BO для нашей бизнес-логики и уровень DAO для нашего соединения с базой данных. Допустим, каждый раз, когда мы обновляем файл, мы также хотим что-то изменить в папке, например, «дата последнего изменения». Это должно быть сделано …

5
Должен ли один сбой завершить массовую операцию?
В API, над которым я работаю, есть операция массового удаления, которая принимает массив идентификаторов: ["1000", ..., "2000"] Я был свободен реализовать операцию удаления, как мне показалось подходящим, поэтому я решил сделать все это транзакционным: то есть, если один идентификатор недействителен, весь запрос завершится неудачно. Я назову это строгим режимом. try{ …

3
Entity Framework и предотвращение анемичной доменной модели
В нашей бизнес-логике мы иногда определяем методы примерно так: User.ResetCourse(Course courseToReset) Проблема в том, что и Пользователь, и Курс являются объектами прокси Entity Framework. Это означает, что когда мы обращаемся к свойствам навигации для пользователя или курса, это может привести к огромному удару по базе данных, поскольку эти объекты не …

2
Считается ли это ленивым, если я использую пакет линейной алгебры для C ++?
Во-первых, позвольте мне дать некоторую предысторию, прежде чем я действительно сформулирую вопрос. Я изучаю физику, и все мои классы программирования были на таких простых языках программирования, как MATLAB. Под легким я подразумеваю, что язык делает большую часть мышления для вас ... В течение следующих лет я буду посещать курсы информатики, …
11 c++  experience 

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

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