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

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

5
Почему статические методы не должны быть переопределенными?
В ответах на этот вопрос общее согласие заключалось в том, что статические методы не предназначены для переопределения (и, следовательно, статические функции в C # не могут быть виртуальными или абстрактными). Это не только случай в C #, хотя; Java также запрещает это, и C ++, похоже, тоже не нравится. Однако …

3
Это хорошая идея, чтобы мультиплексировать блокирующие потоки в TCP-соединение?
Мне нужно несколько дуплексных каналов между двумя хостами. Существует несколько преимуществ для установки только одного TCP-соединения. Но я сомневаюсь, что мультиплексирование вызовет некоторые неизбежные проблемы. Повредит ли это производительности или значительно увеличит время ожидания? А как насчет использования памяти и процессора? Есть ли какие-либо предложения или предостережения, которые вы хотели …

5
Методы обеспечения кроссплатформенной совместимости (C ++)?
Я заканчивал один из моих ранних проектов C ++, который (в соответствии с фреймворком) должен был быть кроссплатформенным. Я полностью разработал проект в Windows и Visual Studio, полагая, что, поскольку все библиотеки являются кроссплатформенными, выполнение сборки OSX в дальнейшем будет тривиальным. Оказалось, что это не так, скорее «код Windows» не …

5
Согласно закону Деметры, разрешено ли классу возвращать одного из его членов?
У меня три вопроса относительно закона Деметры. Помимо классов, которые были специально назначены для возврата объектов - таких как классы фабрики и компоновщика - нормально ли, чтобы метод возвращал объект, например, объект, удерживаемый одним из свойств класса, или будет нарушать закон Деметры (1) ? И если он нарушает закон Деметры, …

4
Может ли структура C вести себя так, как будто у нее есть функция?
Я использую C и structs, где структура может иметь члены, но не функции. Предположим для простоты, что я хочу создать структуру для строк, которые я назвал, strи я хочу иметь возможность делать, str.replace(int i, char c)где iнаходится индекс строки и cсимвол, который заменяет символ в позиции i. Если бы это …

2
Означает ли наличие большого количества операторов use / import плохой дизайн или запах кода?
Обычно я вижу несколько операторов using в верхней части файла классов. Пример: using System.Collections.Generic; using System.IO; using System.Xml.Linq; Но в проекте, над которым я работаю, в нескольких случаях я вижу 20 или более операций использования / импорта в одном файле класса. Это плохой дизайн? Кажется, что классы, предназначенные для выполнения …

2
Как пройти тестирование неинъекционного кода?
Итак, у меня есть следующий фрагмент кода, который используется во всей моей системе. В настоящее время мы пишем модульные тесты ретроспективно (лучше поздно, чем никогда не было моим аргументом), но я не понимаю, как это будет тестироваться? public function validate($value, Constraint $constraint) { $searchEntity = EmailAlertToSearchAdapter::adapt($value); $queryBuilder = SearcherFactory::getSearchDirector($searchEntity->getKeywords()); $adapter …

3
Предоставление локальных ресурсов JS и CSS для откатов CDN
При условии CDN - это хорошая вещь, потому что они могут обслуживать ресурсы ближе к клиенту, клиент может их кэшировать, и вы можете уменьшить нагрузку на свой собственный сервер. В последних браузерах загрузка ресурсов со сторонних серверов не снижает безопасность благодаря Subresource Integrity (SRI) . CDN могут быть недоступны или …
13 javascript  css  cdn 

5
Как заставить Scrum работать в команде с определенными ролями?
Некоторая справочная информация Я являюсь частью команды разработчиков программного обеспечения. Это состоит из 5 разработчиков (со стажем от 2 до 5 лет, я один из них) 3 сотрудника по внедрению (они занимаются развертыванием и обучением программного обеспечения) и 1 руководитель проекта. Мы разрабатываем множество небольших и средних проектов, и их …

4
Если моя IDE такая умная, зачем мне приводить «clone ()»?
Мой тип IDE ( NetBeans ) проверяет мой, Collectionsпока я набираю код. Но тогда, почему я должен бросить возвращенный объект Object.clone()? Что хорошо. Нет вреда, нет фола. Но все же я не понимаю. Является ли проверка типов без приведения возвращаемого объекта Object.clone()невозможной? Дженерики структура заставляет меня думать IDE может проверить …

1
Инварианты времени жизни объекта и семантика перемещения
Когда я давно изучал C ++, мне было настоятельно подчеркнуто, что отчасти C ++ состоит в том, что, как и у циклов, есть «инварианты цикла», у классов также есть инварианты, связанные с временем жизни объекта - вещи, которые должны быть истинными. пока объект жив. Вещи, которые должны быть установлены конструкторами …

3
Различия между заданным, когда тогда (GWT) и Arrange Act Assert (AAA)?
В TDD есть синтаксис Arrange Act Assert (AAA): [Test] public void Test_ReturnItemForRefund_ReturnsStockOfBlackSweatersAsTwo_WhenOneInStockAndOneIsReturned() { //Arrange ShopStock shopStock = new ShopStock(); Item blackSweater = new Item("ID: 25"); shopStock.AddStock(blackSweater); int expectedResult = 2; Item blackSweaterToReturn = new Item("ID: 25"); //Act shopStock.ReturnItemForRefund(blackSweaterToReturn); int actualResult = shopStock.GetStock("ID: 25"); //Assert Assert.AreEqual(expectedResult, actualResult); } В тестах написания …
13 c#  unit-testing  tdd  bdd 

4
Есть ли стандартный способ или стандартная альтернатива упаковке структуры в c?
Когда программирование в CI показало, что упаковывать структуры, используя __attribute__((__packed__))атрибут GCCs, неоценимо, я могу легко преобразовать структурированный кусок энергозависимой памяти в массив байтов, который будет передаваться по шине, сохраняться в хранилище или применяться к блоку регистров. Упакованные структуры гарантируют, что при обработке в виде массива байтов он не будет содержать …


1
Существует ли стандартная практика упорядочения атрибутов в тегах HTML?
Я работаю над проектом AngularJS, и атрибуты многочисленны во многих моих HTML-элементах: <button type="submit" ng-click="Page.UI.DetailView.ExecuteFunction()" ng-disabled="step5.$invalid" class="btn btn-success pull-right"> Submit this Product </button> Существует ли стандартизированное соглашение для порядка этих атрибутов? По алфавиту? Сгруппированы по значению (например, все угловые атрибуты вместе)? Стандартные атрибуты HTML (например, «тип»)

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