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

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

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

3
Пожалуйста, объясните утверждение, что функция an + b принадлежит O (n ^ 2) и Θ (n)?
Допустим, у меня есть линейная функция. Как f(n)= an+bлучше всего доказать, что эта функция принадлежит O (n 2 ) и Θ(n)? Мне здесь не нужна математическая строгость. Мне нужен ответ программистов. Какой-то логичный способ объяснения. Именно поэтому я не опубликовал вопрос в Q & A по математике, а вместо этого …

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

2
Когда Роб Пайк говорит «Go - это композиция», что именно он имеет в виду? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . От меньшего - экспоненциально больше Если в C ++ и Java речь идет …

7
Унизительная документация - как с этим бороться?
Важно : у нас нет проблем с документацией по исходному коду . Это относится к регулярному аудиту кода и постоянно обновляется. Наша проблема с документацией для разработчиков (или, если хотите, «внешней»), небольшими подсказками, похожими на блог, от программистов до программистов, которые, как правило, когда-то пишутся, часто остаются позади. Мы используем …

1
Организация кода для разработки приложений для iOS
Я разрабатывал приложение для платформы iOS, и, как только я шел, я заметил, что проделал ужасную работу по поддержанию организованности моих файлов (.h, .m, .mm). Существуют ли какие-либо отраслевые стандарты или лучшие практики, касающиеся организации файлов для проекта iOS? Мои файлы включают в себя пользовательские классы (кроме контроллеров представления), настроенные …

2
Могут ли объекты Persistance-Ignorant реализовать ленивую загрузку?
Постоянное невежество - это применение принципа единой ответственности, который на практике означает, что доменные объекты ( DO ) не должны содержать код, связанный с постоянством, вместо этого они должны содержать только доменную логику. а) Я предполагаю, что это означает, что код, который связывается с нижними уровнями (то есть уровнями персистентности), …

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

3
IValidatableObject vs Single Responsibility
Мне нравится точка расширяемости MVC, позволяющая представлениям моделей реализовывать IValidatableObject и добавлять настраиваемую проверку. Я стараюсь поддерживать свои контроллеры стройными, используя этот код в качестве единственной логики проверки: if (!ModelState.IsValid) return View(loginViewModel); Например, модель представления входа в систему реализует IValidatableObject, получает объект ILoginValidator посредством внедрения конструктора: public interface ILoginValidator { …

2
Все юнит-тесты в одном исполняемом файле или их разбили?
При написании тестов для одного программного обеспечения, скажем, библиотеки, вы предпочитаете скомпилировать все модульные тесты в один или разделить их на несколько исполняемых файлов? Причина, по которой я спрашиваю, заключается в том, что я сейчас использую CUnit для тестирования библиотеки, над которой я работаю. Тесты разбиты на отдельные наборы, которые …

2
Как сделать этот дизайн ближе к правильному DDD?
Я читал о DDD уже несколько дней и мне нужна помощь в разработке этого образца. Все правила DDD меня очень смущают из-за того, как я вообще должен что-либо строить, когда объектам домена не разрешено показывать методы на уровне приложения; где еще организовать поведение? Хранилища не могут быть внедрены в сущности, …

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

2
Каковы правовые риски в случае использования GPL или AGPL Web Application Framework / CMS?
Пытался спросить это на SO, но было указано здесь ... Правильно ли я сказал, что использование инфраструктуры веб-приложений под GPL, такой как Composite C1, НЕ обязывает компанию делиться исходным кодом, который мы пишем, с этой платформой? Какова цель AGPL, я прав? Относится ли это также к Javascript-фреймворкам, таким как KendoUI? …

4
Как виртуальная машина Java выполняет код, написанный на других языках?
Начиная с Java 1.6, JVM может работать с множеством языков программирования, а не только с Java. Я концептуально понимаю, как Java запускается на Java VM, но не понимаю, как другие языки могут работать на ней. Для меня все это выглядит как черная магия. У вас есть какие-нибудь статьи, на которые …
12 jvm 

4
Плохо ли использовать интерфейс только для категоризации?
Например: Скажем , у меня есть классы A, B, C. У меня есть два интерфейса, давайте называть их IAnimalи IDog. IDogнаследует от IAnimal. Aи Bесть IDog, а Cнет, но это IAnimal. Важной частью является то, что не IDogпредоставляет никаких дополнительных функций. Он используется только для разрешения Aи B, но не …

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