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

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

4
Метрики исходного кода для измерения стабильности кода?
Рассматривая то, как программное обеспечение разрабатывается во время цикла выпуска (реализация, тестирование, исправление ошибок, выпуск), я подумал, что нужно увидеть какой-то шаблон в строках кода, которые изменяются в кодовой базе; например, к концу проекта, если код становится более стабильным, следует видеть, что за единицу времени изменяется меньше строк кода. Например, …

5
Могу ли я использовать лицензию MIT, чтобы передать часть своего предыдущего письменного кода работодателю, чтобы защитить себя и не потерять свои авторские права?
Моя ситуация: Я написал рамки, прежде чем я начал свою новую работу. Я владею авторским правом. Внутри него куча шаблонной логики, как у любого программного обеспечения. (Дух!) Я не хочу использовать весь фреймворк в моей новой работе, но мне нужно повторно использовать некоторые его части в похожем фреймворке, который я …

6
Лучшие практики для методов модульного тестирования, которые интенсивно используют кэш?
У меня есть несколько методов бизнес-логики, которые хранят и извлекают (с фильтрацией) объекты и списки объектов из кэша. Рассмотреть возможность IList<TObject> AllFromCache() { ... } TObject FetchById(guid id) { ... } IList<TObject> FilterByPropertry(int property) { ... } Fetch..и Filter..вызвал бы, AllFromCacheкоторый заполнил бы кэш и возвратился бы, если это не …

3
Обнаружение множества «государственных машин»
Я только что прочитал интересную статью под названием Получение слишком мило с C # yield return Это заставило меня задуматься о том, как лучше всего определить, является ли IEnumerable фактической перечисляемой коллекцией или это конечный автомат, созданный с помощью ключевого слова yield. Например, вы можете изменить DoubleXValue (из статьи) на …
17 c#  api-design 

5
Описательное именование против 80 строк символов [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …

4
Дилемма QA против итераций
В моей компании мы успешно работаем с гибкими практиками, но без использования итераций. Основная причина в том, что мы не можем найти чистый способ вписаться в QA в цикле итерации. Мы понимаем QA как дополнительный бит проверки для определенной сборки (кандидата на выпуск) до того, как эта сборка будет развернута …
17 agile  teamwork  qa  sdlc 

3
Решение для непроверенных исключений в Scala
Как программист Java, я всегда критиковал Unchecked Exceptions. В основном программисты используют его как средство для легкого кодирования, чтобы потом создавать проблемы. Кроме того, программы (хотя и неопрятные) с проверенными исключениями намного надежнее по сравнению с непроверенными аналогами. Удивительно, но в Scala нет ничего, что называется Проверенные исключения. Все проверенные …


3
Государственный паттерн нарушает принцип подстановки Лискова?
Это изображение взято из применения доменного дизайна и шаблонов: с примерами в C # и .NET Это диаграмма классов для шаблона состояний, в котором в SalesOrderтечение срока службы может быть несколько состояний. Между разными состояниями разрешены только определенные переходы. Теперь OrderStateкласс является abstractклассом, и все его методы наследуются его подклассам. …

1
Применяется ли принцип подстановки Лискова к классам, реализующим интерфейс?
LSP утверждает, что классы должны быть заменяемыми для их базовых классов, а это означает, что производные и базовые классы должны быть семантически эквивалентными. Но применяется ли LSP к классам, реализующим интерфейс? Другими словами, если метод интерфейса, реализуемый классом, семантически отличается от того, что пользователь ожидает от него, будет ли это …

2
Как начать соревновательное программирование? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …

5
Как я могу создать свою собственную лицензию на программное обеспечение? [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения в стеке. Закрыто 7 лет назад . Я видел множество лицензий на любое программное обеспечение, такое как GNU GPL, BSD License, MIT License и …

6
Наем разработчиков - перечисление IDE в качестве требования?
Я просматривал некоторые объявления о вакансиях и заметил, что довольно много из них перечисляют IDE в разделе «требуемые навыки», даже на руководящие должности. Это также не относится к одной компании, но это то, что появляется один раз в несколько сообщений. Я озадачен этим требованием к работе, поскольку мои наставники и …
17 ide 

5
Как сделать создание моделей во время выполнения менее болезненным
Я прошу прощения за длинный вопрос, это звучит немного как напыщенная речь, но я обещаю, что это не так! Я кратко изложил свой вопрос (ы) ниже В мире MVC все просто. Модель имеет состояние, представление показывает модель, а контроллер выполняет какие-либо действия с моделью (в основном), контроллер не имеет состояния. …
17 c#  design  wpf  mvvm 

2
Как люди поддерживают свой набор тестов?
В частности, мне интересно узнать о следующих аспектах: Откуда вы знаете, что ваши тесты неверны (или устарели) и нуждаются в ремонте (или выброшены)? Я имею в виду, что даже если контрольный пример стал недействительным, он все равно может пройти и оставаться безмолвным, что может дать вам ложную уверенность в том, …

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