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

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

5
Как работает предсказание ветвления, если вам все еще нужно проверить условия?
Я читал популярный ответ о Branch Prediction с /programming//q/11227809/555690 , и меня что-то смущает: Если вы угадали, это продолжается. Если вы догадались, капитан остановится, отступит и закричит на вас, чтобы щелкнуть выключателем. Затем он может перезапустить другой путь. Если вы угадаете каждый раз, поезд никогда не остановится. Если вы слишком …

3
Соответствующий рабочий процесс Git для нескольких активных выпусков при работе с исправлениями
Я пытаюсь выбрать рабочий процесс Git, наиболее подходящий для нашего продукта. Вот параметры: Мы выпускаем несколько крупных релизов в год, скажем, 10 максимум У нас одновременно работает несколько версий нашего продукта (некоторые люди на v10.1, некоторые на v11.2 и т. Д.) Нам нужно иметь возможность работать над несколькими выпусками одновременно …

7
Должен ли я проверить возвращаемое значение вызова метода, даже если я знаю, что метод не может вернуть неверный ввод?
Мне интересно, должен ли я защищаться от возвращаемого значения вызова метода, проверяя, соответствуют ли они моим ожиданиям, даже если я знаю, что метод, который я вызываю, будет соответствовать этим ожиданиям. ДАННЫЙ User getUser(Int id) { User temp = new User(id); temp.setName("John"); return temp; } Я ДОЛЖЕН ДЕЛАТЬ void myMethod() { …

4
Почему `void *` неявно приводится в C ++?
В C нет необходимости приводить void *к любому другому типу указателя, это всегда безопасно продвигается. Однако в C ++ это не так. Например, int *a = malloc(sizeof(int)); работает в C, но не в C ++. (Примечание: я знаю, что вам не следует использовать mallocв C ++ или в этом отношении …

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

6
Динамическая оценка кода в Java - умная или небрежная?
Я пытаюсь создать гибкую инфраструктуру ACL в Java для моего приложения. Многие платформы ACL построены на белом списке правил, где правило имеет форму владельца: действие: ресурс . Например, «ДЖОН МОЖЕТ ПОСМОТРЕТЬ ресурс FOOBAR-1» «МЭРИ МОЖЕТ ПРОСМОТРЕТЬ ресурс FOOBAR-1» "МЭРИ МОЖЕТ РЕДАКТИРОВАТЬ ресурс FOOBAR-1" Это привлекательно, потому что правила могут быть …

9
Существуют ли шаблоны проектирования, которые возможны только в динамически типизированных языках, таких как Python?
Я прочитал соответствующий вопрос. Существуют ли какие-либо шаблоны проектирования, которые не нужны в динамических языках, таких как Python? и запомнил эту цитату на Wikiquote.org Замечательная вещь о динамической типизации - она ​​позволяет вам выражать все, что можно вычислить. А системы типов - системы типов, как правило, разрешимы, и они ограничивают …

9
Почему самодостаточные компиляторы считаются обрядом для новых языков?
Я слышал во многих местах, что люди ожидают, что языки будут использовать или, по крайней мере, иметь самодостаточный компилятор, чтобы заслужить уважение. Мне любопытно, почему это так. Компилятор кажется очень важной частью программного обеспечения для написания, и я думаю, что не все языки хорошо подходят для их создания. Разве не …

10
Учитывая табун лошадей, как мне определить среднюю длину рога всех единорогов?
Приведенный выше вопрос является абстрактным примером распространенной проблемы, с которой я сталкиваюсь в унаследованном коде, или, точнее, проблем, возникших в результате предыдущих попыток решить эту проблему. Я могу вспомнить хотя бы один метод .NET Framework, предназначенный для решения этой проблемы, например Enumerable.OfType<T>метод. Но тот факт, что вы в конечном итоге …

10
Какого типа данные хранятся в языке Си?
Я знаю, что указатели содержат адреса. Я знаю, что типы указателей «общеизвестны» на основе «типа» данных, на которые они указывают. Но указатели по-прежнему являются переменными, и адреса, которые они содержат, должны иметь тип данных. Согласно моей информации, адреса в шестнадцатеричном формате. Но я до сих пор не знаю, какой "тип" …
30 c  pointers 

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

1
Динамические формы конструктора форм и базы данных? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 6 лет назад . Скажем, ваши пользователи могут создавать свои собственные веб-формы (текстовые поля, выборки и …

6
Чем «облачные вычисления» отличаются от «клиент-сервер»?
Наблюдая за тем, как генеральный директор новой компании «облачных вычислений» рассказывает о своей компании в финансовой телевизионной программе, он сказал что-то вроде «Облачные вычисления превосходят старомодные клиент-серверные вычисления». Теперь я в замешательстве. Может кто-нибудь объяснить, что означает «облачные вычисления» в отличие от клиента-сервера? Насколько я понимаю, облачные вычисления - это …

2
Ложное объяснение пробуждений звучит как ошибка, которую просто не стоит исправлять, верно?
Согласно статье в Википедии о ложных пробуждениях msgstr "поток может быть выведен из состояния ожидания, даже если ни один из потоков не сигнализировал об условной переменной". Хотя я знаю об этой «функции», я никогда не знал, что на самом деле вызвало ее, пока, в той же статье «Ложные пробуждения могут …

3
Является ли метод «запуска», «запуска» или «выполнения» хорошей практикой?
В настоящее время я работаю над базой кода, которая имеет много классов, которые реализуют метод Start. Мне кажется, что это двухфазная конструкция, которую я всегда считал плохой практикой. Я не могу сказать разницу между этим и конструктором. Когда целесообразно использовать метод запуска вместо обычной конструкции объекта? Когда мне лучше использовать …

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