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

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

10
Обнуляемые типы предпочтительнее магических чисел?
В последнее время у меня была небольшая дискуссия с коллегой. Мы специально используем C #, но это может относиться к любому языку с обнуляемыми типами. Скажем, например, у вас есть значение, которое представляет максимум. Однако это максимальное значение не является обязательным. Я утверждаю, что обнуляемое число будет предпочтительнее. Мой коллега …

5
Как вы развиваете и версии интерфейса?
Скажем, у вас есть интерфейс IFoo: public interface IFoo { void Bar(string s); int Quux(object o); } Во второй версии API вы должны добавить метод Glargк этому интерфейсу. Как это сделать, не нарушая существующих пользователей API и не поддерживая обратную совместимость? Это в основном нацелено на .NET, но может применяться …

20
Насколько важны UML-диаграммы для успешного проекта? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, …
22 uml  modeling 

5
Почему списки минусов связаны с функциональным программированием?
Я заметил, что большинство функциональных языков используют односвязный список (список «минусов») в качестве наиболее фундаментальных типов списков. Примеры включают Common Lisp, Haskell и F #. Это отличается от основных языков, где родные типы списков являются массивами. Почему это? Для Common Lisp (будучи динамически типизированным) я понял, что минусы достаточно общие, …

9
Убедите одинокого разработчика использовать отдельный инструмент для сборки вместо сборки в один клик IDE
Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 7 лет назад . В мои годы программирования на Java и в последнее время на Scala я никогда не использовал Ant, Maven, Gradle или какие-либо из этих инструментов для сборки Java. …

6
Законно ли повторно использовать код в проектах других клиентов?
Я работаю как независимый разработчик программного обеспечения для мобильных приложений. Клиент просит меня разработать мобильное приложение. Поэтому на данный момент я рассчитываю время и усилия, чтобы написать предложение для этого проекта. Само приложение будет использоваться только в течение определенного времени, поскольку оно связано с определенным событием после этого, если оно …
22 legal  code-reuse 

4
Есть ли какие-либо исследования по эффективности / результативности Agile vs Waterfall [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения в стеке. Закрыто 2 года назад . Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое …

11
Это действительно необходимый навык для программирования без документации API? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Сегодня я едва сдал экзамен по программированию на Java. Мне пришлось ответить на некоторые …

1
Недостатки GNU LGPL v3 против GNU LGPL v2.1?
Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 8 лет назад . Во-первых, я понимаю, что это сайт вопросов и ответов по программированию, а не место для юридических консультаций ... Просто пытаюсь получить общее представление о недостатках использования библиотеки …

6
Насколько полезны макросы Lisp?
Common Lisp позволяет вам писать макросы, которые выполняют любые преобразования исходного кода, которые вы хотите. Схема предоставляет вам гигиеническую систему сопоставления с образцом, которая также позволяет вам выполнять преобразования. Насколько полезны макросы на практике? Пол Грэм сказал в « Побивке средних», что: Исходный код редактора Viaweb, вероятно, содержал около 20-25% …
22 lisp  scheme  macros 

6
Зачем использовать сервисы (REST / SOAP) вместо библиотеки?
Допустим, вы хотите разбить ваши приложения на сервисы. Существуют ли веские причины для принятия SOA-подхода, а не просто для создания библиотечного API, который может быть загружен приложениями, которым он нужен.
22 api  soa  services 

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

6
Как непрерывная доставка может работать на практике?
Непрерывная доставка звучит хорошо, но мой многолетний опыт разработки программного обеспечения позволяет предположить, что на практике это не может работать. (Изменить: чтобы было ясно, у меня всегда много тестов, запускаемых автоматически. Мой вопрос о том, как получить уверенность при каждой регистрации, и я понимаю, что это полная форма CD. Альтернатива …

3
Хранить изображения в базе данных или в файлах со ссылкой на базу данных?
Уместно ли хранить файлы изображений в базе данных? Или было бы лучше хранить только путь к файлу в базе данных, сохраняя сам файл на сервере? Есть ли другие способы сделать это правильно?

12
Как написать интерпретатор команд / парсер?
Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 7 лет назад . Проблема: Запустите команды в виде строки. пример команды: /user/files/ list all; эквивалентно: /user/files/ ls -la; другой: post tw fb "HOW DO YOU STOP THE TICKLE MONSTER?;" эквивалентно: …

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