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

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

7
Следует ли использовать «другое» в ситуациях, когда поток управления делает его избыточным?
Иногда я сталкиваюсь с кодом, подобным следующему примеру (что именно делает эта функция, выходит за рамки этого вопроса): function doSomething(value) { if (check1(value)) { return -1; } else if (check2(value)) { return value; } else { return false; } } Как вы можете видеть, if, else ifи elseутверждения используются в …

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

1
отличается между ES6 и Javascript [закрыто]
Закрыто . Этот вопрос нуждается в деталях или ясности . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Добавьте детали и проясните проблему, отредактировав этот пост . Закрыто 3 года назад . Что такое ES6? Это JavaScript? Или многоязычный сторонник? Я искал это, но не могу понять это, …
18 javascript  es6 

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

5
В каком слое должна быть валидация?
Я создаю Rest API с помощью Spring Boot и использую Hibernate Validation для проверки входных данных запроса. Но мне также нужны другие виды проверки, например, когда необходимо проверить обновление данных, если идентификатор компании не существует, я хочу создать специальное исключение. Должна ли эта проверка располагаться на уровне службы или на …

1
Это все еще антипаттерн, если мы регистрируем сообщение об исключении и генерируем другое исключение?
Наше веб-приложение использует ExceptionMapperдля сопоставления некоторых исключений Response. Мы регистрируем сообщения об исключениях перед тем, как выдавать новое исключение следующим образом: catch (SomeException ex) { LOG.error(ex.getMessage()); throw new MyException(ex.getMessage()); } Мы не выкидываем одно и то же исключение , поэтому мой вопрос, будет ли это рассматриваться как антипаттерн Log and …

3
Можно ли иметь несколько классов в одном файле в Python?
Я недавно пришел в мир Python после многих лет Java и PHP. Хотя сам язык в значительной степени прост, я борюсь с некоторыми «незначительными» проблемами, которые я не могу обернуть вокруг себя - и на которые я не мог найти ответы в многочисленных документах и ​​учебных пособиях, которые я прочитал …

2
Является ли хорошей идеей определить одну большую частную функцию в классе для поддержания действительного состояния, то есть обновить элементы данных объекта?
Хотя в приведенном ниже коде используется простая покупка одного элемента на сайте электронной коммерции, мой общий вопрос заключается в обновлении всех членов данных, чтобы все время сохранять данные объекта в действительном состоянии. Я нашел «последовательность» и «состояние зла» как соответствующие фразы, обсуждаемые здесь: https://en.wikibooks.org/wiki/Object_Oriented_Programming#.22State.22_is_Evil.21 <?php class CartItem { private $price …

6
Что такое схема URI?
Я искал этот вопрос, но не нашел хорошего ответа. Даже статья в Википедии об URI не объясняет это полностью. Я думал, что это был протокол для доступа к веб-странице. например, HTTP / HTTPS / FTP, но в вики-статье говорится иначе. Некоторые схемы URI не связаны с каким-либо конкретным протоколом (например, …
18 protocol  internet  uri 

3
Как настроить таргетинг на Windows 10 UWP и Windows Phone 8.1 в одном приложении?
Фон С точки зрения разработчика, основным преимуществом Windows 10 является ее новая универсальная платформа Windows (UWP) . * Где «универсальный» действительно означает «универсальный для всех устройств, работающих под управлением Windows 10», а не «универсальный для устройств, работающих под управлением не только Windows 10, но также Windows 8.1 и, возможно, Windows …


5
Где описать архитектурные проблемы?
Я присоединился к среднему проекту, который работает уже несколько лет. Одна из проблем заключается в том, что документ, описывающий архитектуру, никогда не был написан. Теперь мне было поручено написать описание архитектуры. За время работы над этим проектом я собрал всю информацию, необходимую для написания документа. Поскольку я также добавил некоторые …

3
Менеджер чтения контроля версий фиксирует
Наш менеджер отслеживает коммиты Git на всех наших проектах; обычно это не проблема, и мне нравится тот факт, что контроль версий предоставляет журнал всей происходящей работы, особенно для последующего аудита и анализа (на случай, если что-то пойдет не так). Однако менеджер сделал несколько комментариев, спрашивая, над чем работают люди, когда …

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

4
Семантически более подходящее имя пакета, чем `util` для следующих вещей?
Как соломенный эксперт, посчитайте, что пакет java.util- это свалка для различных классов, которые в большинстве случаев не имеют ничего общего, кроме человека, который их поместил, было ленивым или не вдохновленным придумать более семантически правильное имя пакета для своего класса. В качестве одного примера, возьмем класс, UUIDкаким было бы семантически правильное …

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