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

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

5
Проверка кода отстает от цикла доставки / тестирования
В нашем гибком процессе у нас есть 2-недельные спринты. Задачи выполняются ежедневно (ежедневные сборки), и группа тестирования завершает свое тестирование немедленно на следующий день или даже в тот же день. У нас также есть проверки кода Dev, которые требуют некоторого времени (1-2 часа), поэтому они запланированы 3 раза в неделю: …

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

1
Это хорошая практика для реализации двух методов Java 8 по умолчанию друг с другом?
Я проектирую интерфейс с двумя связанными методами, подобными этому: public interface ThingComputer { default Thing computeFirstThing() { return computeAllThings().get(0); } default List<Thing> computeAllThings() { return ImmutableList.of(computeFirstThing()); } } Приблизительно половина реализаций будет когда-либо вычислять только одну вещь, тогда как другая половина может вычислять больше. Есть ли у этого прецедент в …

2
Как новостные сайты, например, Forbes / Zdnet, легко объединяют одну веб-страницу в другую?
Если вы идете к примеру: http://www.forbes.com/sites/adrianbridgwater/2015/06/12/why-technology-has-to-be-continuous/ ИЛИ http://www.zdnet.com/article/if-you-want-those-cool-ios-9-features-its-time-to-buy-a-new-ipad/ Когда вы переходите в конец страницы, загружается новая новость, а URL-адрес в моем интернет-браузере меняется на URL этой следующей новостной статьи. Поэтому мне было интересно, как веб-страница может почти мгновенно загрузить следующую веб-страницу с почти незначительной задержкой между страницами. Например, они предварительно …

2
Когда мне следует использовать оператор неявного преобразования типов в C #?
В C # мы можем перегрузить оператор неявного преобразования следующим образом (пример из MSDN ): struct Digit { /* ... */ public static implicit operator byte(Digit d) // implicit digit to byte conversion operator { /* ... */ } } Таким образом, мы можем иметь тип, пользовательский тип значения , …
14 c#  operators 

1
Ключ API - в содержании или заголовке
Сейчас я работаю над API и просто хочу собрать мнения о том, где лучше всего передавать ключ API. Я знаю, что это не должно идти в URL, это оставляет заголовок запроса или тело сообщения. Если я помещу это в заголовок, я могу придумать универсальный метод для его извлечения, который можно …
14 api 

1
Почему Haskell не может избежать повторной оценки без ограничения мономорфизма?
Я только что закончил учить вас на днях, и я пытался разобраться в ограничении мономорфизма, как описано в Haskell Wiki . Я думаю, что понимаю, как MR может предотвратить повторные оценки, но я не понимаю, почему этих повторных оценок нельзя избежать гораздо более простыми способами. Я имею в виду конкретный …

6
Как справиться с 50% хуже среднего спринта?
Если я правильно понимаю Scrum, вот как я определяю работу, которую моя команда может выполнить в следующем спринте: Я усредняю ​​количество набранных очков за последние несколько спринтов. Эта величина является нашей средней скоростью. Следующий спринт, мы берем столько историй. Это среднее значение , поэтому, если история повторяется, в этом спринте …

2
Полезен ли тип Optional / Maybe в динамических языках?
Optionalполезен очевидным образом в статически типизированном языке, но мне интересно, если это также полезно в динамических языках. Обычно компилятор не говорит вам: «Эй, вы использовали это Optional<String>как String», так что вам все равно придется обнаруживать свои ошибки во время выполнения. У меня есть фон статической типизации, и с моей точки …


2
Влияет ли response.js для статического сайта, управляемого содержимым?
Я довольно продал модель реагирования, потому что она делает манипуляции с DOM такими плавными и понятными. Но мне интересно, как это можно использовать для сайта, который в основном статичен с большими блоками текста и изображений, которые не двигаются. Будет ли это просто мешать? Кажется неловким иметь компоненты с КБ текста …

2
Как я должен отметить, что класс является неизменным в Java?
Недавно я наткнулся на то, насколько полезны неизменяемые объекты и что, например, если вы передаете элементы конструктору и ваш класс должен быть неизменным, вы должны скопировать эти элементы, если они сами не являются неизменяемыми. Это требует много проверок или знаний о моем проекте, потому что если у меня есть public …

3
Моя функция проверки значения должна возвращать как логическое значение, так и сообщение
У меня есть функция проверки значения, что-то очень похожее на функцию проверки номера кредитной карты, которая передается в строке и должна проверить, что значение имеет правильный формат. Если это правильный формат, он должен вернуть true. Если это неправильный формат, он должен вернуть false, а также сообщить нам, что не так …

2
Как работает контроллер DMA?
Из раздела 5.1.4 Прямой доступ к памяти в современных операционных системах Эндрю С. Таненбаум, Герберт Бос, 2014 , Чтобы упростить объяснение, мы предполагаем, что ЦП обращается ко всем устройствам и памяти через единую системную шину, которая соединяет ЦП, память и устройства ввода-вывода, как показано на рис. 5-4. Чтобы объяснить, как …

2
Должен ли я хранить адреса электронной почты в виде открытого текста в базе данных?
Всем ясно ( я надеюсь ), что хранить пароли, по крайней мере, не солить / хэшировать их - ужасная идея. Как насчет электронной почты? Допустим, вы сохраняете адрес электронной почты подписки, если вы правильно его зашифруете, отправка электронных писем пользователям может оказаться невозможной. С другой стороны, если вы не зашифруете …

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