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

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

4
В C / C ++ я должен использовать 'const' в параметрах и локальных переменных, когда это возможно?
Этот вопрос вдохновлен вопросом о finalв Java . В C / C ++ я должен использовать, constкогда это возможно? Я знаю, что уже есть связанный вопрос об использовании constв параметрах . К сожалению, этот вопрос и его ответы не полностью отвечают на мой вопрос, потому что он касается только параметров …

5
Насколько функциональные вызовы влияют на производительность?
Извлечение функциональности в методы или функции является обязательным условием модульности кода, читабельности и совместимости, особенно в ООП. Но это означает, что будет сделано больше вызовов функций. Как разделение нашего кода на методы или функции в действительности влияет на производительность в современных * языках? * Самые популярные из них: C, Java, …

2
Является ли Logger.getLogger (MyClass.class) лучшим способом инициализации логгеров log4j?
Этот учебник Mkyong предлагает инициализировать регистраторы следующим образом: @Controller public class WelcomeController { private static final Logger logger = Logger.getLogger(WelcomeController.class); // etc } Предположительно, теперь любой другой используемый вами класс, имеющий регистратор, будет инициализировать свои регистраторы таким же образом. Мой вопрос - это лучший способ сделать это? Кажется ... повторяющимся.
13 java  logging 

6
Лучший тип данных для хранения троичной переменной или переменной с тремя состояниями
Отказ от ответственности: я знаю, что типы данных немного субъективны к тому, какой язык сценариев / программирования вы используете, я предпочитаю писать на Python в порядке предпочтения; хотя я рад слышать о любом языке / реализации. Каков наилучший тип данных для хранения переменной с тремя состояниями? Нечто способное или представляющее …

8
В чем разница между потоком и очередью?
В чем разница между потоком и очередью? Они оба имеют концепцию упорядоченного набора элементов, но, как правило, имеют разные реализации и разные словари «вставка» / «извлечение» (потоки) и «добавление в очередь» / «извлечение» (очередь). Они взаимозаменяемы? Они предлагают разные концепции или модели? Если так, то в чем различия?

2
Случайный срок действия кэша
Я экспериментировал со случайным временем истечения срока действия кэша, чтобы избежать ситуаций, когда отдельный запрос заставляет несколько вещей обновляться одновременно. Например, веб-страница может содержать пять различных компонентов. Если для каждого из них задано время ожидания в 30 минут, пользователь будет долго ждать каждые 30 минут. Таким образом, вместо этого вы …

1
Разница между «aud» и «iss» в jwt
Я хочу реализовать более надежную службу аутентификации, и jwtэто большая часть того, что я хочу сделать, и я понимаю, как писать код, но у меня возникли небольшие проблемы с пониманием различий между зарезервированными issи audутверждениями. Я понимаю, что один определяет сервер, который выдает токен, а другой относится к приложению, которое …

4
Чистая проверка архитектуры в домене против уровня сохраняемости данных?
Я учусь на чистой и, как следствие, довольно резко переосмысливаю, как я проектирую и пишу программное обеспечение. Однако я по-прежнему борюсь с бизнес-правилами, такими как «сохранить обновления какого-либо элемента, сначала загрузить весь список элементов, на которые у меня есть разрешение на просмотр / редактирование и т. Д., Подтвердить, что этот …

1
Как мне представить принципиальную схему моей базы данных MongoDB?
У меня есть база данных MongoDB, которую я хочу правильно задокументировать в своей схеме. Я знаю, что MongoDB является базой данных NoSQL и по своей природе не имеет схемы, но я применяю схему в своем приложении и хочу представить ее лучше, чем вывод findOne()результата. Я вижу много людей, использующих ER …

4
Выбор имен для интеграционных тестов
С юнит-тестами домен довольно маленький, так что это легко. Я использовал methodName_conditions_result()схему Ошерова и нашел ее очень ясной. Но с интеграционными тестами я чувствую, что это сделало бы очень длинное имя, и что я должен поставить вместо methodName? Как назвать интеграционные тестовые классы? Примеры реальных имен интеграционных тестов приветствуются. Я …

4
Создание нулевых объектов с помощью оператора нуль-слияния
Рассмотрим следующий типичный сценарий: if(myObject == null) { myObject = new myClass(); } Мне интересно, что думают о следующей замене с использованием оператора нуль-слияния: myObject = myObject ?? new myClass(); Я не уверен, должен ли я использовать вторую форму. Это кажется хорошим сокращением, но myObject = myObjectконструкция в начале кажется, …
12 c#  operators 

4
Почему sizeof называется оператором времени компиляции?
Первоначально это часть другого вопроса. Почему sizeofназывается оператором времени компиляции? Разве это не на самом деле оператор во время выполнения? И если это действительно оператор времени компиляции, как он помогает в создании переносимого кода, который выполняется одинаково на разных компьютерах? Пожалуйста, объясните подробно.
12 c++ 

2
Используя потоковый манипулятор (endl) или символ перехода на новую строку (\ n)?
У меня нет конкретного контекста, в котором я задаю вопрос, но когда я читал книгу для начинающих на C ++, я заметил использование как манипулятора endl stream, так и escape-символа новой строки при работе с потоковым объектом. Пример таков: cout << "Hello World" << endl; cout << "Hello World\n"; Мои …

6
Значения по умолчанию - это добро или зло?
Вопрос о значениях по умолчанию в целом - значения функций возврата по умолчанию, значения параметров по умолчанию, логика по умолчанию для случаев, когда чего-то не хватает, логика по умолчанию для обработки исключений, логика по умолчанию для обработки краевых условий и т. Д. Долгое время я считал значения по умолчанию «чистым …

11
Что значит «человек читаемый»? Это неправильно?
На ум приходят два примера: Одна из причин, по которой программистам .Net рекомендуется использовать файлы .config вместо реестра Windows, заключается в том, что файлы .config являются XML и, следовательно, удобочитаемыми. Точно так же JSON иногда считают читаемым человеком по сравнению с проприетарным форматом. Читаемые человеком форматы действительно читаемы людьми? В …

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