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

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

3
Является ли «использование» уместным в контексте, где нечего распоряжаться?
В C # usingоператор используется для детерминированного размещения ресурсов без ожидания сборщика мусора. Например, он может быть использован для: Утилизируйте команды или соединения SQL, Закрывайте потоки, освобождая основной источник как файл, Бесплатные элементы GDI +, и т.п. Я заметил, что usingэто все больше и больше используется в тех случаях, когда …

3
Какие проблемы связаны с набором текста при написании компилятора для динамически типизированного языка?
В этом выступлении Гвидо ван Россум (27:30) рассказывает о попытках написать компилятор для кода Python, комментируя его следующим образом: оказывается, что не так просто написать компилятор, который поддерживает все хорошие свойства динамической типизации, а также поддерживает семантическую корректность вашей программы, так что он фактически делает одно и то же, независимо …

1
Многие блокирующие VS одиночные неблокирующие работники
Предположим, что есть HTTP-сервер, который принимает соединения, а затем он каким-то образом ожидает полной отправки заголовков. Интересно, каков наиболее распространенный способ его реализации и каковы остальные плюсы и минусы. Я могу думать только об этом: Многие блокирующие работники хороши тем, что: Это более отзывчиво. Проще вводить новые соединения (работники выбирают …

4
Константы в C #
Почему компилятор хранит постоянные значения в метаданных сборки? Они непосредственно встроены в код промежуточного языка из метаданных сборки?
9 c#  clr  compilation 

1
Классификация хеш-функции
В интернете я сталкивался с таким вопросом: Классифицируйте функции хеширования на основе различных методов, с помощью которых можно найти значение ключа. с ответами вроде Прямой метод Метод вычитания Метод деления по модулю Цифровой метод извлечения Метод средней площади Складной метод Псевдослучайный метод что я нахожу странным. Я думаю, что знаю …

5
Как справиться с задачей проверки локализованных строк не разработчиком?
В .NET Framework локализованные строки находятся в файле XML (или нескольких файлах). Эти файлы являются частью проекта и передаются в систему контроля версий, как и любой другой файл исходного кода. Обычно Visual Studio используется для отображения этих файлов в виде таблицы и редактирования локализованных строк. Я работаю в небольшой команде …

3
Как ссылаться на конкретные области кода в документации?
Я собираюсь покинуть проект, и прежде чем я уйду, мой начальник попросил меня документировать код (я не очень хорошо задокументировал). Это не имеет большого значения, проект не очень сложный. Но я нахожу в своей документации места, где я хотел бы сказать: «В строке XYZ обратите внимание, что происходит то-то и …

3
Презентация VS Прикладной уровень в DDD
У меня проблемы с проведением четкой грани между уровнем представления и приложениями в дизайне, управляемом доменом. Куда должны идти файлы Controllers, Views, Layouts, Javascript и CSS? Это на уровне приложения или презентации? И если они объединяются в одном слое, что содержит другой? Это пусто?

8
Прошлые операторы If Массивы, циклы ... И что теперь?
Я перестал программировать чуть больше года назад, когда продолжал бить эту стену. Я возвращаюсь к этой теме, потому что хочу создать базовое приложение для Android. Но я чувствую, что моих ограниченных знаний будет недостаточно. Здесь моя проблема. Я прочитал несколько книг и посмотрел видеоуроки на C # / Java, следовал …

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

4
Управление памятью для быстрой передачи сообщений между потоками в C ++
Предположим, есть два потока, которые взаимодействуют посредством асинхронной отправки сообщений данных друг другу. У каждого потока есть какая-то очередь сообщений. У меня очень низкий уровень вопроса: какой самый эффективный способ управления памятью? Я могу придумать несколько решений: Отправитель создает объект через new. Приемник звонков delete. Пул памяти (для передачи памяти …

1
Ищите лучший способ объединить глубокий рефакторинг архитектуры с разработкой на основе функций
Постановка задачи: Данный: TFS как источник контроля Тяжелое настольное клиентское приложение с тоннами устаревшего кода с плохой или почти отсутствующей архитектурой. Клиенты постоянно нуждаются в новых функциях с качеством звука, быстрой доставкой и постоянно жалуются на недружественный пользовательский интерфейс. Проблема: Приложение, несомненно, требует глубокого рефакторинга. Этот процесс неизбежно делает приложение …

1
В чем проблема с XML-литералами Scala?
В этом посте Мартин (глава языка) пишет: [Литералы XML] В то время это выглядело великолепной идеей, а теперь она торчит как больной большой палец. Я полагаю, что с новой схемой интерполяции строк мы сможем поместить всю обработку XML в библиотеки, что должно стать большой победой. Я сам интересуюсь языковым дизайном …

5
Каковы ощутимые преимущества для правильных юнит-тестов по сравнению с функциональными тестами, называемыми юнит-тестами
У проекта, над которым я работаю, есть куча устаревших тестов, которые не были должным образом смоделированы. Из-за этого единственной зависимостью, которую он имеет, является EasyMock, которая не поддерживает статику, конструкторы с аргументами и т. Д. Тесты вместо этого полагаются на соединения с базой данных и тому подобное для «запуска» тестов. …

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

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