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

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

5
Почему дискриминационные союзы связаны с функциональным программированием?
За многие годы ОО-программирования я понял, что такое дискриминационные союзы, но я никогда не пропускал их. Недавно я занимался некоторым функциональным программированием на C #, и теперь я продолжаю желать, чтобы они у меня были. Это сбивает с толку меня, потому что, на первый взгляд, концепция дискриминируемых союзов кажется совершенно …

6
Когда следует обновлять зависимости?
У нас было два основных кризиса, связанных с зависимостями, с двумя разными базами кода (Android и веб-приложение Node.js). Для репозитория Android необходимо было перейти с Flurry на Firebase, что потребовало обновления библиотеки Google Play Services четырех основных версий. Аналогичная ситуация произошла с нашим приложением Node, размещенным на Heroku, где наш …

10
Почему стандартные библиотеки не являются примитивами языка программирования? [закрыто]
Закрыто . Этот вопрос нуждается в деталях или ясности . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Добавьте детали и проясните проблему, отредактировав этот пост . Закрыт 10 месяцев назад . Я думал о том, почему существуют (во всех изученных мною языках программирования, таких как C ++, …

7
Это запах кода, чтобы установить флаг в цикле, чтобы использовать его позже?
У меня есть фрагмент кода, в котором я повторяю карту до тех пор, пока определенное условие не станет истинным, а затем позже использую это условие, чтобы выполнить еще кое-что. Пример: Map<BigInteger, List<String>> map = handler.getMap(); if(map != null && !map.isEmpty()) { for (Map.Entry<BigInteger, List<String>> entry : map.entrySet()) { fillUpList(); if(list.size() …

2
Каково происхождение препроцессора C?
Препроцессор C подключен к C, но его синтаксис совершенно отличается от основного языка: синтаксически значимые пробелы (конец строки завершает оператор, пробел после макроса определяет начало списка замены) блоки на основе ключевых слов вместо фигурных блоков elifвместоelse if определения на основе ключевых слов вместо объявления-отражает-использование, нет =для определения значения подсказки альтернативного …
30 c  history  macros 

6
Тысячи ошибок!
Я был назначен на новый проект недавно. Ну, на самом деле старый проект, написанный на классическом ASP. Теперь новая версия приложения пишется в последней версии ASP.NET, но через некоторое время она не станет RTM (предполагаемая дата выпуска - январь 2017 г.), поэтому мне придется выполнить некоторые операции по обслуживанию старого …

9
Разработка класса, который будет принимать целые классы в качестве параметров, а не отдельные свойства
Например, у вас есть приложение с широко используемым классом, которое называется User. Этот класс предоставляет всю информацию о пользователе, его идентификаторе, имени, уровнях доступа к каждому модулю, часовом поясе и т. Д. Очевидно, что пользовательские данные широко используются во всей системе, но по какой-то причине система настроена таким образом, чтобы …
30 java  c#  design  solid 

5
Как эффективный способ записать обоснования решений о дизайне продукта?
В нашей компании мы не используем какие-либо проектные документы. У нас всего три сотрудника, поэтому все обсуждения дизайна продукта происходят лично или в Slack. (Мы также работаем над базовым пакетом Slack, который позволяет просматривать только самые последние сообщения.) Наш продукт все еще находится на ранних стадиях, и мы часто пересматриваем …

5
Если число слишком большое, оно перетекает в следующую ячейку памяти?
Я изучал программирование на Си, и меня беспокоит всего пара вещей. Давайте возьмем этот код для примера: int myArray[5] = {1, 2, 2147483648, 4, 5}; int* ptr = myArray; int i; for(i=0; i<5; i++, ptr++) printf("\n Element %d holds %d at address %p", i, myArray[i], ptr); Я знаю, что int …

6
Лучше иметь 2 метода с ясным значением или только 1 метод двойного использования?
Чтобы упростить интерфейс, лучше просто не иметь getBalance()метод? Переход 0к charge(float c);тому же результату даст: public class Client { private float bal; float getBalance() { return bal; } float charge(float c) { bal -= c; return bal; } } Может быть, сделать заметку в javadoc? Или просто оставьте это пользователю …
30 interfaces  cqrs 

4
Почему мне не нужен ORM на таком функциональном языке, как Scala?
Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 4 года назад . Мне интересно, могу ли я переключиться с Java на Scala в проекте Spring + Hibernate, чтобы воспользоваться некоторыми функциями Scala, такими как сопоставление с образцом, Option и, …

8
Является ли это ограничение тестовой разработки (и Agile в целом) практически актуальным?
В разработке через тестирование (TDD) вы начинаете с неоптимального решения, а затем итеративно создаете лучшие, добавляя тестовые примеры и рефакторинг. Предполагается, что шаги будут небольшими, а это означает, что каждое новое решение будет как-то соседствовать с предыдущим. Это напоминает математические методы локальной оптимизации, такие как градиентный спуск или локальный поиск. …

3
JSON Web Token - почему полезная нагрузка общедоступна?
Я не могу понять причины, по которым заявления / полезные данные JWT становятся публично видимыми после их декодирования в base64. Зачем? Кажется, было бы гораздо полезнее зашифровать его с помощью секрета. Может кто-нибудь объяснить, почему или в какой ситуации полезно хранить эти данные?

4
Почему .compareTo () в интерфейсе, а .equals () в классе в Java?
Я хочу знать, почему интерфейс .compareTo()находится в Comparableинтерфейсе, а метод like .equals- в Objectклассе. Мне кажется произвольным, почему такой метод .compareTo()уже не в Objectклассе. Чтобы использовать .compareTo(), вы реализуете Comparableинтерфейс и реализуете .compareTo()метод для ваших целей. Для .equals()метода вы просто переопределяете метод в своем классе, так как все классы наследуются …

3
Почему тип XML безопасен?
Почему они говорят, что XML обеспечивает безопасность типов и как это выражается в самом XML? Чем он отличается от JSON (например), который (как я понимаю) не является безопасным типом?
30 xml  type-safety 

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