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

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

3
Что означает «R» в именах регистров x64?
Я знаю, что 32-битные регистры были названы как 16-битные регистры с префиксом «E», что означает «расширенный». Я всегда предполагал, что это означает расширение с 16 до 32 бит, хотя я никогда не видел этого в явном виде. Я пытался выяснить, что означает «R», но мои навыки Google подвели меня. Кто-нибудь …
27 architecture  x86 

6
сколько времени вы тратите на юнит-тестирование?
В компании, в которой я работал, руководители настаивали на том, что охват кода модульными тестами должен составлять 99% или более. Это привело к написанию большего количества тестов, чем кода. Написание тестов для одного класса заняло у нас буквально 3 дня, а на их реализацию потребовался день. В результате, однако, я …

7
Что является более быстрой альтернативой CRC?
Я делаю некоторую передачу данных от dsPIC к ПК, и я делаю 8-битный CRC для каждого блока 512 байтов, чтобы убедиться, что нет ошибок. При включенном коде CRC я получаю около 33 КБ / с, без него - 67 КБ / с. Какие есть альтернативные алгоритмы обнаружения ошибок, чтобы проверить, …

9
Что вы думаете о периодах / полных остановках в комментариях к коду? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Я видел это в SO Tavern , поэтому я размещаю вопрос здесь. Я подумал, …

2
Почему в соглашении говорится, что имена таблиц БД должны быть единичными, а ресурсы RESTful - множественными?
Это довольно устоявшееся соглашение, что имена таблиц базы данных, по крайней мере в SQL, должны быть единичными. SELECT * FROM user;Смотрите этот вопрос и обсуждение . Это также довольно устоявшееся соглашение о том, что имена ресурсов API RESTful должны быть множественными. GET /users/123и POST /usersувидеть это . В простейшем API, …

2
Могу ли я использовать новую лицензированную библиотеку / код BSD в коммерческом закрытом проекте?
Я нашел библиотеку freetype-gl, которую хочу использовать. У него новая лицензия BSD, и я хотел бы использовать ее в своем коммерческом проекте с закрытым исходным кодом. Могу ли я это сделать?

1
вызвать функцию и никогда не ждать ее в C #
В моем веб-приложении mvc4 есть контроллер, в котором есть действие, которое требует вызова другой функции. Что происходит в этой функции, т.е. возвращаемое значение не имеет значения для моего действия. Как я могу вызвать эту функцию и никогда не ждать ее выполнения? Я думаю, что это может быть сделано с помощью …
26 c#  .net  asp.net  asp.net-mvc 

3
Почему long int занимает 12 байтов на некоторых машинах?
Я заметил кое-что странное после компиляции этого кода на моей машине: #include <stdio.h> int main() { printf("Hello, World!\n"); int a,b,c,d; int e,f,g; long int h; printf("The addresses are:\n %0x \n %0x \n %0x \n %0x \n %0x \n %0x \n %0x \n %0x", &a,&b,&c,&d,&e,&f,&g,&h); return 0; } Результат следующий. Обратите …
26 c  memory  pointers 

7
Разделить вычисление возвращаемого значения и оператора возврата в однострочных методах?
У меня была беседа с коллегой о нарушении returnоператора и оператора, который вычисляет возвращаемое значение в две строки. Например private string GetFormattedValue() { var formattedString = format != null ? string.Format(format, value) : value.ToString(); return formattedString; } вместо того private string GetFormattedValue() { return format != null ? string.Format(format, value) …

8
Должно ли «между x и y» быть коммутативным?
В моем приложении есть несколько предопределенных шаблонов выражений, которые можно использовать для фильтрации данных. Одним из них является " between x and y". Инженер QA утверждает, что в его определении есть дефект, потому что " between 100 and 200" дает результаты, отличные от " between 200 and 100". Выражение внутренне …

7
Рекомендуется ли развертывать проект на сервере файл за файлом вручную?
Компания, в которой я работаю, пока не осуществляет постоянную доставку. Мы по-прежнему разворачиваем проект вручную на сервере, файл за файлом. Что является наилучшей практикой: вручную развертывать один артефакт проекта для каждого развертывания или продолжать развертывание по файлам?

2
Разве когда-нибудь плохо отмечать C ++ функцию constexpr?
Учитывая очень тривиальную функцию, int transform(int val) { return (val + 7) / 8; } Должно быть совершенно очевидно, что эту функцию легко превратить в constexprфункцию, что позволяет мне использовать ее при определении constexprпеременных, например: constexpr int transform(int val) { return (val + 7) / 8; } Мое предположение состоит …
26 c++  c++11 

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

4
Пространство имен C # и соглашение об именах классов для библиотек
Я создаю библиотеки с различными небольшими служебными функциями в C # и пытаюсь принять решение относительно именования пространств и классов. Моя текущая организация выглядит так: Company Company.TextUtils public class TextUtils {...} Company.MathsUtils public class MathsUtils {...} public class ArbitraryPrecisionNumber {...} public class MathsNotation {...} Company.SIUnits public enum SISuffixes {...} public …
26 c#  naming  namespace 

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

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