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

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

6
Должен ли HTTP API всегда возвращать тело?
Есть ли какой-то стандарт в отношении ответов HTTP API? Прочитав эту беседу я начал задумываться. Мы разрабатываем наш общедоступный HTTP JSON API на моей работе, и мы ничего не возвращаем, когда это не является строго необходимым (например, PUT для / resource / {id} возвращает только 200, когда OK или соответствующий …
33 rest  api-design  http 

8
Является ли создание исключения анти-паттерном здесь?
Я только что обсудил выбор дизайна после обзора кода. Интересно, каково ваше мнение? Есть этот Preferencesкласс, который является контейнером для пар ключ-значение. Нулевые значения допустимы (это важно). Мы ожидаем, что некоторые значения еще не могут быть сохранены, и мы хотим обрабатывать эти случаи автоматически, инициализируя их предварительно определенным значением по …

9
Как назвать метод, который одновременно выполняет задачу и возвращает логическое значение в качестве состояния?
Если есть метод bool DoStuff() { try { // doing stuff... return true; } catch (SomeSpecificException ex) { return false; } } это лучше назвать IsStuffDone()? Пользователь может неверно истолковать оба имени: если имя такое, DoStuff()почему оно возвращает логическое значение? Если имя IsStuffDone()такое, неясно, выполняет ли метод задачу или только …

1
Я очень хорошо знаю JavaScript, но я беру интервью по кодированию [закрыто]
В настоящее время я нахожусь в поиске новой позиции в качестве Front-End Developer. Я очень хорошо знаю JavaScript и могу поэтично рассказать о замыканиях, каррировании, прототипировании, шаблонах проектирования, производительности приложений и общей архитектуре интерфейса. Но все же я все равно заканчиваю тем, что взрываю собеседования при приеме на работу. (К …

3
Какие препятствия стоят перед процессом разработки при использовании языков разметки простого текста, в отличие от, например, Microsoft Word? [закрыто]
В настоящее время я стажер в правительственном подрядчике, и у меня появляется (неприятно неизбежное) ощущение, что Word является стандартом де-факто в процессе разработки программного обеспечения. Его двоичный формат очень затрудняет совместную работу с документами так, как я привык работать на основе кода. Использование простой текстовой разметки (с такими языками, как …

9
Почему числа с плавающей запятой часто используются в науке / технике?
Исследуя точность чисел с плавающей точкой, я видел в некоторых местах утверждение, подобное " float и double являются ( предназначены для / часто используются в ) инженерных и научных расчетов " Насколько я понимаю, сила чисел с плавающей точкой и двойников - это количество памяти, которое они используют для своей …

10
Разве это нормально иметь объекты, которые приводятся сами, даже если это загрязняет API их подклассов?
У меня есть базовый класс Base. У него есть два подкласса, Sub1и Sub2. Каждый подкласс имеет несколько дополнительных методов. Например, Sub1имеет Sandwich makeASandwich(Ingredients... ingredients)и Sub2имеет boolean contactAliens(Frequency onFrequency). Поскольку эти методы принимают разные параметры и делают совершенно разные вещи, они абсолютно несовместимы, и я не могу просто использовать полиморфизм для …

2
Разница между шаблоном адаптера и прокси-сервером?
Насколько мы понимаем, шаблон адаптера создает объект-обертку для нашего реального объекта интереса, просто еще один уровень косвенности, который обеспечивает гибкость. гибкость заключается в том, что если интерфейс реального объекта изменяется, то мы меняем интерфейс оболочки, указывающий на реальный объект, оставляя незащищенный интерфейс на стороне клиента неизменным. Прокси шаблон такой же, …

8
История пользователя против требования
User Story фиксирует то, что пользователь хочет сделать с системой на высоком уровне. Я понимаю, что пользовательская история еще больше повлечет за собой ряд требований низкого уровня. Является ли пользовательская история такой же, как требования высокого уровня для системы?

3
Когда подходы RPC более подходящие, чем REST?
После просмотра этого выступления Стива Виноски о REST, Reuse и Serendipity , мне стало интересно, есть ли бизнес-примеры в новых проектах (XML-) RPC-ish, которые REST не мог бы решить лучше. Несколько проблем RPC он упоминает: Сосредоточиться на языке (приспособить распределенную систему к языку, а не наоборот) «Сделайте так, чтобы это …

5
Алгоритмы «разделяй и властвуй» - почему бы не разделить их на две части?
В алгоритмах «разделяй и властвуй», таких как быстрая сортировка и сортировка слиянием, ввод обычно (по крайней мере, во вводных текстах) делится на две части , и два меньших набора данных затем обрабатываются рекурсивно. Для меня имеет смысл, что это ускоряет решение проблемы, если две половины занимают меньше половины работы над …

6
Почему вложенные циклы считаются плохой практикой?
Мой лектор упомянул сегодня, что в Java можно «пометить» циклы, чтобы вы могли обращаться к ним при работе с вложенными циклами. Поэтому я посмотрел эту функцию, так как не знал об этом, и во многих местах, где эта функция была объяснена, за ней последовало предупреждение, препятствующее вложенным циклам. Я не …

3
Является ли Java бесплатным / открытым исходным кодом или нет?
13 ноября 2006 года Sun выпустила большую часть Java как бесплатное программное обеспечение с открытым исходным кодом (FOSS) в соответствии с условиями GNU General Public License (GPL). 8 мая 2007 года Sun завершила процесс, сделав весь основной код Java доступным на условиях бесплатного программного обеспечения / распространения с открытым исходным …


6
Я бы хотел написать алгоритм «идеального шаффла» для сортировки моей коллекции mp3
Я ищу варианты псевдокодов для сортировки моих mp3-файлов таким образом, чтобы избежать повторения названий и исполнителей . Я слушаю эстрадных певцов - Фрэнка Синатру, Тони Беннетта, Эллу Фицджеральд и других, поющих старые стандарты. Каждый артист записывает множество одинаковых песен - Fly Me To The Moon, The Way You Look Tonight, …

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