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

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

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

6
Agile без юнит-тестов
Имеет ли смысл говорить о «гибкой разработке» или утверждать, что вы применяете «гибкую методологию», если кодовая база, над которой вы работаете, имеет 0% покрытия модульными тестами? (А вы, как команда, ничего с этим не делаете). Чтобы было понятно: для меня это не имеет смысла. По своему личному опыту я обнаружил, …

8
Можно ли статически предсказать, когда освободить память - только из исходного кода?
Память (и блокировки ресурсов) возвращаются в ОС в детерминированных точках во время выполнения программы. Поток управления программой сам по себе достаточен, чтобы знать, где, без сомнения, данный ресурс может быть освобожден. Точно так же, как человек-программист знает, куда писать, fclose(file)когда программа завершает работу с ним. GC решают эту проблему, выясняя …
27 parsing  memory 

2
Реализация чистых абстрактных классов и интерфейсов
Хотя это не является обязательным в стандарте C ++, похоже, что GCC, например, реализует родительские классы, в том числе чисто абстрактные, путем включения указателя на v-таблицу для этого абстрактного класса в каждом экземпляре рассматриваемого класса. , Естественно, это увеличивает размер каждого экземпляра этого класса указателем на каждый родительский класс, который …

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

7
Peer / Code Review разочарования
Я бы не назвал себя суперзвездным разработчиком, но относительно опытным. Я стараюсь поддерживать качество кода на высоком уровне и всегда стараюсь улучшить мой стиль кодирования, стараюсь сделать код эффективным, читаемым и последовательным, а также побуждаю команду следовать шаблонам и методологиям для обеспечения согласованности. Я также понимаю необходимость баланса между качеством …

5
Делает ли перехват / выброс исключений нечистым в противном случае чистым методом?
Следующие примеры кода предоставляют контекст для моего вопроса. Класс комнаты инициализируется с делегатом. В первой реализации класса Room нет защиты от делегатов, которые генерируют исключения. Такие исключения будут пузыриться до свойства North, где оценивается делегат (примечание: метод Main () демонстрирует, как экземпляр Room используется в клиентском коде): public sealed class …

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

3
Работа с кешем браузера в одностраничных приложениях
Я пытаюсь понять, как правильно обрабатывать кэш веб-браузера для одностраничных приложений. У меня довольно типичный дизайн: несколько файлов HTML, JS и CSS, реализующих SPA, и куча данных JSON, которые используются SPA. Проблемы возникают, когда я хочу отправить обновление: я обновляю статическую часть сайта и код, который генерирует JSON одновременно, но …

3
Как эффективно хранить данные больших временных рядов?
Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 4 года назад . Мне нужно хранить и иметь возможность запрашивать некоторые очень большие объемы данных временных рядов. Свойства данных следующие: количество серий: около 12.000 (двенадцать тысяч) количество точек данных во …

3
Сколько работы я должен поместить в оператор блокировки?
Я - младший разработчик, работающий над написанием обновления для программного обеспечения, которое получает данные от стороннего решения, сохраняет их в базе данных и затем обрабатывает данные для использования другим сторонним решением. Наше программное обеспечение работает как служба Windows. Глядя на код из предыдущей версии, я вижу это: static Object _workerLocker …
27 c#  .net  concurrency  locks 

2
API REST на основе ролей?
Я создаю REST API, для которого несколько пользователей с разными ролями будут иметь доступ к содержащимся в нем ресурсам. Для простоты, давайте возьмем домен "ученик / учитель / класс": GET /students ресурс для доступа. У пользователей могут быть роли, такие как Студент и / или Учитель Студенты будут иметь доступ …

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

13
Почему языки программирования не управляют автоматически синхронной / асинхронной проблемой?
Я не нашел много ресурсов по этому поводу: мне было интересно, если это возможно / хорошая идея, чтобы иметь возможность писать асинхронный код синхронным способом. Например, вот некоторый код JavaScript, который извлекает количество пользователей, хранящихся в базе данных (асинхронная операция): getNbOfUsers(function (nbOfUsers) { console.log(nbOfUsers) }); Было бы неплохо иметь возможность …

6
Каковы предостережения от реализации фундаментальных типов (таких как int) как классов?
При проектировании и implenting объектно-ориентированный язык программирования, в какой - то момент один должен сделать выбор о реализации основных типов (как int, float, doubleили их эквиваленты) , как классы или что - то другое. Очевидно, что языки в семействе C имеют тенденцию не определять их как классы (Java имеет специальные …

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