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

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

2
Должна ли сериализация и десериализация быть обязанностью сериализуемого класса?
В настоящее время я нахожусь на стадии (пере) проектирования нескольких классов моделей приложения на C # .NET. (Модель как в М MVC). Классы моделей уже имеют множество хорошо спроектированных данных, поведений и взаимосвязей. Я переписываю модель с Python на C #. В старой модели Python, я думаю, я вижу бородавку. …

2
Пакетирование OpenJDK с проприетарным приложением, разрешенным GPL?
В настоящее время я делаю видеоигру на Java, которая, скорее всего, будет распространяться через Steam. Конечно, у многих пользователей Steam в этом случае Java уже не установлена. Если это произойдет, у меня может быть небольшой собственный модуль запуска, который показывает информативный диалог, сообщающий пользователю, что ему нужно установить Java, или …
16 licensing  gpl 

4
Считается ли эквивалентным постоянное время и амортизированное постоянное время?
Мне нужно написать RandomQueue, который позволяет добавлять и случайное удаление в постоянное время (O (1)). Моей первой мыслью было подкрепить его каким-нибудь массивом (я выбрал ArrayList), поскольку массивы имеют постоянный доступ через индекс. Просматривая документацию, я понял, что добавления ArrayLists считаются амортизированным постоянным временем, поскольку для добавления может потребоваться перераспределение …

7
Что быстрее? Использование REST API или прямой запрос к базе данных?
Что быстрее по производительности? Создание REST API и использование вашего веб-приложения с помощью REST API для всех взаимодействий с вашей базой данных ИЛИ непосредственное выполнение запросов к вашей базе данных (т. Е. Использование любого типичного объекта, который ваш язык использует для запроса базы данных, такого как JDBC для Java)? То, …
16 database  rest  sql 

5
Является ли семантический контракт интерфейса (ООП) более информативным, чем сигнатура функции (ФП)?
Некоторые говорят, что если вы доведете принципы SOLID до крайности, вы в конечном итоге окажетесь в функциональном программировании . Я согласен с этой статьей, но думаю, что при переходе от интерфейса / объекта к функции / закрытию теряется некоторая семантика, и я хочу знать, как функциональное программирование может уменьшить потери. …

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

4
Имеете производственный филиал или используете мастер?
Я работаю в небольшой команде с другими удаленными разработчиками над Railsприложением. Мы начинаем изменять наш gitрабочий процесс. Мы подумали о разветвленной структуре, как показано ниже: (dev) -> (qa) -> (stag) -> (master) Но некоторые разработчики думали, что это может быть менее запутанным для новых разработчиков, которые могут автоматически перейти к …
16 git 

2
Полезен ли параметрический полиморфизм более высокого ранга?
Я уверен, что все знакомы с общими методами формы: T DoSomething<T>(T item) Эта функция также называется параметрически полиморфной (ПП), а именно ПП ранга 1 . Допустим, этот метод может быть представлен с помощью функционального объекта в форме: <T> : T -> T То есть <T>означает, что он принимает один параметр …

9
Большой вопрос о алгоритме с (n ^ 2 + n) / 2 скоростью роста
Я задаю этот вопрос, потому что я запутался в одном аспекте, касающемся обозначения больших О. Я использую книгу Фрэнка Каррано « Структуры данных и абстракции с Java ». В главе «Эффективность алгоритмов» он показывает следующий алгоритм: int sum = 0, i = 1, j = 1 for (i = 1 …
16 algorithms  big-o 

4
Один метод с множеством параметров против множества методов, которые должны вызываться по порядку
У меня есть некоторые необработанные данные, которые мне нужно сделать много (чтобы сдвинуть, повернуть, масштабировать по определенной оси, повернуть к конечной позиции), и я не уверен, что лучший способ сделать это для поддержания читабельности кода. С одной стороны, я могу сделать один метод со многими параметрами (10+), чтобы сделать то, …
16 java  readability 

2
Должен ли я предоставить исходный код своего проекта, если я использую библиотеку, лицензированную под Apache 2.0?
У меня есть частное (т.е. нет возможности поделиться исходным кодом) и коммерческое приложение, теперь я хотел бы использовать библиотеку, которая находится под лицензией Apache 2.0 . Я прочитал раздел лицензий Apache и FAQ, но мне не ясно об этом. Это то же самое, что GPL3, который заставляет приложение предоставлять исходный …

3
Massive View Controller - IOS - Решения
Я уверен, что у каждого нового разработчика iOS есть следующая проблема: контроллеры представления очень быстро заполняются кодом для различных целей, легко получая до 500+ строк кода. Вот как это выглядит для двух основных и общих экранов: 1) Экран формы: 2) Экран контроллера табличного представления До сих пор я читал о …
16 mvc  ios  objective-c 

1
Почему Акка продается как реактивная? Реактивна ли модель актера?
Насколько я понимаю, модель актора и реактивное программирование - это отдельные понятия. Модель актера, похоже, не реагирует на меня по своей сути. Однако структура Akka, которая является реализацией модели актора, описывается как реактивная: «Программная логика Java и Scala основана на легких объектах Actor, которые отправляют и получают сообщения в реактивном …

5
Почему чтение из памяти не побочный эффект, а чтение из файла?
Что именно делает чтение из памяти процесса чистой операцией? Предположим, я создал массив из 100 целых чисел в глобальной памяти, а затем взял 42-й элемент этого массива. Это не побочный эффект, верно? Так почему же чтение того же массива из 100 целых чисел из файла является побочным эффектом?

10
Почему мы используем неописательные внутренние кодовые имена? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Я думаю, что использование кодовых имен довольно широко распространено. Наша компания тоже их использует. …

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