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

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

3
Когда я должен использовать string_view в интерфейсе?
Я использую внутреннюю библиотеку, которая была разработана для имитации предложенной библиотеки C ++ , и иногда в последние несколько лет я вижу, что ее интерфейс изменился с использования std::stringна string_view. Поэтому я покорно изменяю свой код, чтобы соответствовать новому интерфейсу. К сожалению, я должен передать параметр std :: string и …

5
Потребность в спецификации проекта программного обеспечения значительно уменьшилась с развитием более выразительных языков программирования?
Для многих ИТ-специалистов, в том числе и для меня несколько лет назад, идеальный процесс разработки программного обеспечения включал бы создание подробных проектных документов с множеством диаграмм UML до того, как была написана строка кода. (Это похоже на описание модели водопада, но то же самое с гибкой моделью, за исключением того, …

6
Расщепление юнит-тестов по требованию или методу
Во-первых, извиняюсь за название, я не мог придумать самый простой способ объяснить это! У меня есть метод, для которого я хочу написать модульные тесты. Я собираюсь оставить его достаточно общим, так как я не хочу обсуждать реализацию метода, только его тестирование. Метод таков: public void HandleItem(item a) { CreateNewItem(); UpdateStatusOnPreviousItem(); …
16 c#  unit-testing 

3
Как вы тестируете функцию, единственной целью которой является запрос внешнего API, но API использует сложный синтаксис запроса?
Единственная реальная логика в синтаксисе запроса для внешнего API. Я не хочу проверять, запрашивает ли он API, я хочу проверить, что он запрашивает его таким образом, что будут возвращены правильные данные. Например, некоторый псевдокод: function retrieve_related_data(id) { query = "[potentially long, syntactically complex query that uses param id to get …

4
Является ли быстрая основная версия, свидетельствующая о плохом дизайне?
Я начал работать младшим программистом несколько месяцев назад. Система, над которой мы работаем, работает в течение ~ 2 лет. Я не участвовал в попрошайничестве системы и дизайна. Одна вещь, которую я заметил, состоит в том, что основная версия системы уже 11.YZ Из моего опыта работы с другими системами и библиотеками …

5
Общая библиотека - хорошая идея?
Я всегда думал, что «общая библиотека» была хорошей идеей. Под этим я подразумеваю библиотеку, которая содержит общую функциональность, которая часто требуется нескольким различным приложениям. Это приводит к меньшему дублированию кода / избыточности. Я недавно прочитал статью (сейчас не могу найти), в которой говорится, что это на самом деле плохая идея, …
16 design  go 

4
Как я могу уменьшить ручную работу по переносу сторонних библиотек на объектную модель большего размера?
Как и автор этого вопроса 2012 года, а этот - 2013 года , у меня есть сторонняя библиотека, которую нужно обернуть, чтобы правильно протестировать мое приложение. Верхний ответ гласит: Вы всегда хотите обернуть сторонние типы и методы за интерфейс. Это может быть утомительно и больно. Иногда вы можете написать генератор …

2
Эмс по-прежнему актуальны?
Мое понимание от чтения темы , как этот , что точка Эмса , чтобы определить все измерения в вашей веб - странице, с помощью базового размера шрифта , который может быть установлен в вашем браузере. Например, в Chrome вы можете сделать это, перейдя settings -> show advanced settings -> web …
16 css 

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

1
Как мне представить вложенные действия в диаграмме действий UML?
Этот вопрос очень похож на этот , но ответ не соответствует моим потребностям. Он ориентирован на конкретный инструмент UML (папирус), в то время как мой вопрос более общий о UML. Я хотел бы представить вложенное действие в диаграмме деятельности , но я не знаю, как это обычно делается. Идея состоит …
16 uml  modeling 

10
Несогласие с руководителем проекта по стандартам кодирования [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 3 года назад . Так что я работаю над новым проектом вместе с моим руководителем проекта в течение …

4
Не могу понять шаблоны программирования
Я работаю с Javascript в течение последних 4 лет. Я очень уверен в своих навыках решения проблем и вижу, что качество моего кода улучшается. Я стараюсь быть в курсе событий сообщества, и в настоящее время я работаю с ES2015 и React.js. Однако я чувствую, что вообще не могу понять шаблоны …

6
Язык, основанный на ограниченном количестве аргументов, передаваемых функциям
Идея вдохновлена ​​тем фактом, что операторы фактов, такие как +, -,% и т. Д., Могут рассматриваться как функции с одним или двумя переданными аргументами, без побочных эффектов. Предполагая, что я или кто-то еще пишет язык, который останавливает передачу более двух аргументов, а также работает только через возвращаемое значение: а) приведет …

5
Идиоматическое использование исключений в C ++
В isocpp.org исключения FAQ государства Не используйте throw, чтобы указать на ошибку кодирования при использовании функции. Используйте assert или другой механизм для отправки процесса в отладчик или для сбоя процесса и сбора аварийного дампа для отладки разработчиком. С другой стороны, стандартная библиотека определяет std :: logic_error и все его производные, …
16 design  c++  exceptions 

2
Что такое Comonad и чем они полезны?
Недавно я стер свои знания о том, как работают монады. Я также был введен в понятие «комонадой» , которая описывается как обратный двойной монады . Тем не менее, я не могу обернуть голову вокруг этого. Чтобы понять монады, я сделал для себя аналогию: Монады можно рассматривать как «план построения конвейерных …

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