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

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

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

3
Почему Optional.get () без вызова isPresent () плох, а не iterator.next ()?
При использовании нового Java8 streams api для поиска одного конкретного элемента в коллекции я пишу такой код: String theFirstString = myCollection.stream() .findFirst() .get(); Здесь IntelliJ предупреждает, что get () вызывается без предварительной проверки isPresent (). Тем не менее, этот код: String theFirstString = myCollection.iterator().next(); ... не дает предупреждения. Есть ли …
23 java8 

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

5
Есть ли хороший алгоритм поиска для одного символа?
Я знаю несколько основных алгоритмов сопоставления строк, таких как KMP или Boyer-Moore, но все они анализируют паттерн перед поиском. Однако, если один из них содержит один символ, анализировать особо нечего. Так есть ли лучший алгоритм, чем наивный поиск, сравнивающий каждый символ текста?

3
В каком процессе возникает синтаксическая ошибка? (токенизация или разбор)
Я пытаюсь понять компиляцию и интерпретацию, шаг за шагом выясняя общее изображение. Поэтому я поднялся на вопрос, читая http://www.cs.man.ac.uk/~pjj/farrell/comp3.html эту статью. Это говорит: Следующий этап компилятора называется Parser. Эта часть компилятора имеет понимание грамматики языка. Он отвечает за выявление синтаксических ошибок и за перевод безошибочной программы во внутренние структуры данных, …

1
Почему массивы в .Net имеют длину, а другие типы коллекций имеют число? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Например, в C # массивы имеют свойство Length. Но другие типы коллекций, такие как …

4
Как использовать CI для интерпретируемых языков?
Я никогда раньше не использовал систему непрерывной интеграции (CI). Я в основном кодирую в MATLAB, Python или PHP. Ни у одного из них нет этапа сборки, и я не вижу, как CI мог бы использоваться для моей работы. Друг большого проекта в большой фирме сказал мне, что язык не имеет …

5
Почему не стало обычным делом использовать сеттеры в конструкторе?
Средства доступа и модификаторы (также известные как сеттеры и геттеры) полезны по трем основным причинам: Они ограничивают доступ к переменным. Например, переменная может быть доступна, но не может быть изменена. Они проверяют параметры. Они могут вызвать некоторые побочные эффекты. Университеты, онлайн-курсы, учебные пособия, статьи в блогах и примеры кода в …

6
Разделение прогресса кодирования на значимые коммиты без лишних затрат
Работая над исправлением или функцией, я иногда сталкиваюсь с другими крошечными проблемами, которые можно исправить на лету. Когда я выполняю их немедленно, а затем фиксирую готовую функцию / исправление, фиксация включает в себя несколько вещей. Например "add feature X and code clean up"или "fix bug X and improved logging". Было …

6
Можно ли классу использовать собственный публичный метод?
Задний план В настоящее время у меня есть ситуация, когда у меня есть объект, который передается и принимается устройством. Это сообщение имеет несколько конструкций, а именно: public void ReverseData() public void ScheduleTransmission() ScheduleTransmissionМетод необходимо вызвать ReverseDataметод всякий раз , когда он вызывается. Тем не менее, бывают случаи, когда мне нужно …

4
Возможна ли память всех возможных перестановок килобайтного блока и указателей?
Это достаточно сложная идея, чтобы обернуть мою голову, и я был бы очень признателен за любые изменения / помощь, чтобы сделать его более читаемым для тех, кто в курсе. Возможно ли теоретически иметь жесткий диск, на котором сохранена одна копия каждой возможной двоичной перестановки в один килобайт, а затем остальная …

1
Что называется и для чего? [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения в стеке. Закрыто 4 года назад . Погуглить этот вопрос оказалось несколько бесполезным, поэтому ¬символ: Для чего это? Что называется? Используется ли он на …

4
Законная «настоящая работа» в конструкторе?
Я работаю над дизайном, но продолжаю преодолевать препятствия. У меня есть определенный класс (ModelDef), который по сути является владельцем сложного дерева узлов, созданного путем анализа XML-схемы (например, DOM). Я хочу следовать хорошим принципам проектирования (SOLID) и гарантировать, что полученная система легко тестируется. У меня есть все намерения использовать DI для …

8
В какой момент табу иметь циклы внутри циклов?
Просто любопытно. Максимум, что у меня когда-либо было, это цикл for внутри цикла for, потому что после прочтения этого слова Линусом Торвальдсом: Вкладки состоят из 8 символов, и поэтому отступы также состоят из 8 символов. Есть еретические движения, которые пытаются сделать углубления в 4 (или даже 2!) Символа глубокими, и …

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

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