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

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

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

3
Что такое эксклюзивная дуга в базе данных и почему это зло?
Я читал наиболее распространенные ошибки проектирования баз данных, сделанные разработчиками Q & A в stackoverflow. При первом ответе была фраза об эксклюзивной дуге: Исключительная дуга является распространенной ошибкой, когда таблица создается с двумя или более внешними ключами, где один и только один из них может быть ненулевым. Большая ошибка. С …

1
Как избежать болтливых интерфейсов
Справочная информация: я проектирую серверное приложение и создаю отдельные библиотеки DLL для разных подсистем. Для упрощения скажем у меня есть две подсистемы: 1) Users2)Projects Публичный интерфейс пользователя имеет такой метод: IEnumerable<User> GetUser(int id); И открытый интерфейс Projects имеет такой метод: IEnumerable<User> GetProjectUsers(int projectId); Так, например, когда нам нужно отобразить пользователей …

4
Почему генераторы и функции python используют ключевое слово «def»?
Учтите следующее: def some_function(): return 1 def some_generator(): yield 1 В приведенном выше коде some_functionэто функция, а some_generatorявляется генератором. Они выглядят очень похоже. Проблема, с которой я сталкиваюсь при чтении кода, заключается в том, что мне нужно просмотреть каждую строку в «функции» в поисках yieldключевого слова, прежде чем я смогу …

1
Стратегии продвижения зависимости: разрозненные или организованные?
У нас есть много приложений и веб-сервисов (некоторые общедоступные продукты, некоторые внутренние и часть частного «бэкэнда»), которые взаимозависимы друг от друга. Каждый из этих компонентов имеет 4 среды (кластеры серверов / узлов, обслуживающих определенные цели): Непроизводственные DEV- Интегрированная среда разработки, в которой CI создает push-изменения; полезно для инженеров для устранения …

1
Очередь сообщений для RTOS для микроконтроллеров
Я сейчас пишу ОСРВ для микроконтроллеров. Все написано на C ++ 11 - если кому-то интересно, а ссылка на репозиторий находится внизу. В настоящее время я пишу класс, который представляет собой простую очередь данных для передачи объектов между потоками (или между обработчиками прерываний и потоками или обработчиками прерываний и другими …

2
Почему компилятор Scala не может выдавать предупреждение о сопоставлении с образцом для незапечатанных классов / признаков?
Интересно, если я использую Un Seal traitили abstract classScala, а затем использую сопоставление с образцом, не знает ли компилятор во время компиляции для этого конкретного образца, какие возможные реализации этой черты / класса доступны? Так что, если это так, может ли он не выдавать предупреждения о совпадении с образцом, даже …

2
TDD с шаблоном хранилища
В своем новом проекте я решил попробовать с TDD. И в самом начале я столкнулся с проблемой. Первое, что я хочу сделать в своем приложении, это дать возможность читать данные из источника данных. Для этой цели я хочу использовать шаблон репозитория. И сейчас: Если тест предназначен для реальной реализации интерфейса …

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

3
Как обрабатывать ссылки на частные зависимости в файле setup.py
На работе мы используем частный сервер Pypi. Этот pypi-сервер указан в качестве ссылки зависимости: ... from setuptools import setup config = ConfigParser.ConfigParser() rc = os.path.join(os.path.expanduser('~'), '.pypirc') config.read(rc) dependency_links = [ 'https://{}:{}@<private_url>'.format( config.get('dc', 'username'), config.get('dc', 'password'))] setup( dependency_links=dependency_links, ...) Это прекрасно работает в большинстве наших случаев. Однако некоторое время назад нам …
10 python 

1
Использует ли игровая индустрия автоматизированное тестирование визуальных частей игр / рендеринга? Как?
Некоторые части игры легко тестируются автоматически (логика, математика, обработка ввода); но есть также много визуального и не легко проверяемого. Я был бы удивлен, если бы игровая индустрия оставила все это на ручное тестирование; в нем достаточно денег, чтобы я догадался, что были приложены усилия для того, чтобы можно было провести …

3
Чистый код и гибридные объекты и зависть к функциям
Так что я недавно сделал несколько серьезных рефакторингов в своем коде. Одной из основных вещей, которые я пытался сделать, было разделение моих классов на объекты данных и рабочие объекты. Это было вдохновлено, среди прочего, этим разделом Чистого кода : Гибриды Эта путаница иногда приводит к неудачным гибридным структурам данных, которые …

2
Как JVM обрабатывает исключение, выброшенное методом main?
Я понимаю исключения, выбрасываю их, обрабатываю их и распространяю на метод ниже в стеке вызовов (т.е. throws). Что я не понимаю, так это: public static void main(String[] args) throws Exception { ... } Теперь я предполагаю, что в случае, когда mainвыбрасывает Exception, JVM обрабатывает это (правильно?). Если это так, то …
10 java  exceptions  jvm 

2
Что делает плохой случай для быстрой сортировки?
Я узнаю о быстрой сортировке и хочу проиллюстрировать различные массивы, для которых быстрой сортировке будет сложно. Имеющаяся в виду быстрая сортировка не имеет начального случайного перемешивания, делает 2 разбиения и не вычисляет медиану. До сих пор я придумал три примера: [1,2,3,4,5,6,7,8,9,10] - when the array is sorted [10,9,8,7,6,5,4,3,2,1] - when …

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

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