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

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

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

9
В чем преимущество того, что оператор присваивания возвращает значение?
Я занимаюсь разработкой языка, который намереваюсь заменить как Javascript, так и PHP. (Я не вижу никаких проблем с этим. Не похоже, чтобы у любого из этих языков была большая база установки.) Одной из вещей, которые я хотел изменить, было превратить оператор присваивания в команду присваивания, исключив возможность использования возвращаемого значения. …

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


5
Не объявляйте интерфейсы для неизменяемых объектов
Этот вопрос перенесен из Exchange Stack Exchange, так как на него можно ответить в Software Stack Exchange. Мигрировал 6 лет назад . Не объявляйте интерфейсы для неизменяемых объектов [РЕДАКТИРОВАТЬ] Где рассматриваемые объекты представляют объекты передачи данных (DTO) или простые старые данные (POD) Это разумное руководство? До сих пор я часто …
27 c#  immutability 

7
Игнорирует ли функциональное программирование преимущества, полученные от «Критериев, которые будут использоваться при декомпозиции систем на модули» (скрытие данных)?
Есть классическая статья под названием «Критерии для использования при декомпозиции систем на модули», которую я только что прочитал впервые. Это имеет смысл для меня и, вероятно, является одной из тех статей, на которых основывается ООП. Его вывод: Мы попытались продемонстрировать на этих примерах, что почти всегда неправильно начинать декомпозицию системы …

8
Я провалил FizzBuzz, вы бы меня наняли? [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения в стеке. Закрыто 5 лет назад . Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое …
27 interview 

2
Имеет ли смысл использовать ORM в разработке Android?
Имеет ли смысл использовать ORM в разработке для Android или оптимизирована среда для более тесной связи между пользовательским интерфейсом и уровнем БД? Фон : я только начал с разработки для Android, и мой первый инстинкт (исходящий из .net фона) заключался в поиске небольшого объектно-реляционного картографа и других инструментов, которые помогают …

11
Почему «облачные вычисления» не появились раньше?
Облачные вычисления - это модель аренды ресурсов - серверов и хранилищ данных. И серверы, и хранилища данных существуют уже более десяти лет. И все же предложения облачных вычислений появились только несколько лет назад. В чем здесь дело? Какое критическое изменение вызвало массовое внедрение и массовый маркетинг предложений облачных вычислений?

4
Регулярные выражения - это язык программирования?
В академическом смысле, регулярные выражения квалифицируются как язык программирования? Мотивация для моего любопытства - это такой вопрос, который я только что посмотрел и который спросил: «Может ли регулярное выражение сделать X?» и это заставило меня задуматься о том, что можно сказать в общем смысле о возможных решениях с их использованием. …

6
Каково нормальное соотношение «функциональных строк кода» к «тестовым строкам кода»?
Я довольно новичок в подходе TDD, и мои первые эксперименты говорят, что написание 1 строки функционального кода означает написание примерно 2-3 строк кода тестирования. Итак, на случай, если я напишу 1000 LOC, вся кодовая база, включая тесты, будет примерно 3500 LOC. Это считается нормальным? Какое соотношение в коде вы пишете?

9
Что может пойти не так, если нарушится принцип подстановки Лискова?
Я следил за этим высоко оцененным вопросом о возможном нарушении принципа подстановки Лискова. Я знаю, что такое принцип подстановки Лискова, но мне все еще неясно, что может пойти не так, если я, как разработчик, не задумываюсь над этим принципом при написании объектно-ориентированного кода.

6
Модульное и интеграционное тестирование: как это может стать рефлексом
Все программисты в моей команде знакомы с модульным тестированием и интеграционным тестированием. Мы все с этим работали. У нас есть все письменные тесты с ним. Некоторые из нас даже почувствовали улучшение доверия к своему собственному коду. Однако по какой-то причине написание модульных / интеграционных тестов не стало рефлексом ни для …

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

3
Стиль для потока управления с проверками проверки
Я пишу много кода, как это: int myFunction(Person* person) { int personIsValid = !(person==NULL); if (personIsValid) { // do some stuff; might be lengthy int myresult = whatever; return myResult; } else { return -1; } } Это может стать довольно грязным, особенно если задействовано несколько проверок. В таких случаях …

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