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

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

2
Что делать, когда клиент просит что-то необоснованное (с моей точки зрения)
Я - внештатный программист, и недавно я закончил веб-сайт, все работает нормально, но был один пользователь, который пожаловался моему клиенту, что он не может войти. Эта проблема была явно из-за ограничения cookie / старого браузера (я не мог не создаю проблему сам и сотни пользователей работают с сайтом просто отлично) …

3
Как реализовать ленивую оценку if ()
В настоящее время я реализую оценщик выражений (однострочные выражения, например формулы), основанный на следующем: введенное выражение токенизируется для разделения буквенных логических значений, целых чисел, десятичных дробей, строк, функций, идентификаторов (переменных) Я реализовал алгоритм Shunting-yard (слегка измененный для обработки функций с переменным числом аргументов), чтобы избавиться от скобок и упорядочить операторы …


1
Лучшая практика для обработки асинхронного взаимодействия?
Недавно завершен проект по обработке кредитных карт. Одна из трудностей, с которыми я столкнулся, была обработка задержки / возможного сбоя уведомительных сообщений. Самый сложный пример был: внешняя система, отправляющая запрос на оплату моя система превратила этот запрос в запрос к платежному шлюзу отправка пользователя на шлюз ждет, пока пользователь выполнит …

10
Пользовательские истории слишком высокого уровня и концептуальны, руководство ожидает, что разработчики заполнят пробелы
Я работаю в очень блестящей компании с истинным намерением делать XP. Коммуникация хороша, и руководство открыто для конструктивного обсуждения, но из-за нехватки времени некоторые вещи считаются слишком RUP для обсуждения. На данный момент я немного обеспокоен объемом изменений, которые становятся необходимыми при реализации историй. Я считаю, что многие из этих …

6
CoffeeScript и именованные функции
В другом месте возник спор по терминологии именованной функции в CoffeeScript. В частности, кто-то упоминал что-то вроде этого: foo = -> console.log("bar") как именованная функция. Но было высказано возражение, что все в CoffeeScript является анонимными функциями и не имеет именованных функций. Это, безусловно, верно, у CoffeeScript есть только функциональные выражения, …

3
Опасно ли полагаться на неявное преобразование аргументов?
В C ++ есть особенность (я не могу определить ее правильное имя), которая автоматически вызывает соответствующие конструкторы типов параметров, если типы аргументов не являются ожидаемыми. Очень простой пример этого вызова функции, ожидающей std::stringс const char*аргументом. Компилятор автоматически сгенерирует код для вызова соответствующего std::stringконструктора. Мне интересно, это так плохо для читабельности, …

1
Сборка компьютерной системы с JS? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 5 лет назад . Недавно я закончил эту книгу под названием «Элементы вычислительных систем», где …
10 javascript 

6
Тестирование клиента REST на сервере REST. Как сделать светильники?
При написании модульных тестов обычно используются фиксаторы: мало тестируемых данных, поэтому мы можем сказать: 1. Получить все клиенты должны включать Вилли Вонка. 2. Удалите клиента 3, и теперь клиенты не должны включать Вилли Вонка больше. Это хорошо для юнит-тестов. Используйте setup / teardown, чтобы повторно загрузить приборы или откатить транзакцию. …
10 unit-testing  api  rest 

1
Оптимальная структура данных для нашего собственного API
Я на начальной стадии написания основного режима Emacs для сети Stack Exchange ; если вы регулярно используете Emacs, это в конечном итоге принесет вам пользу. Чтобы свести к минимуму количество обращений к API Stack Exchange (ограничено 10000 на IP в день) и быть просто ответственным гражданином, я хочу кэшировать информацию, …

3
Должен ли список параметров метода содержать объекты или идентификаторы объектов?
Наши команды проводят следующую дискуссию: Допустим, у нас есть два следующих метода: public Response Withdraw(int clubId, int terminalId,int cardId, string invoice, decimal amount); public Response Withdraw(Club club, Terminal terminal,Card card, string invoice, decimal amount); то, что отправлено по проводам, это просто идентификаторы. одна сторона говорит, что первый метод правильный, потому …
10 design  methods 

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

2
Контекстный класс в шаблоне Стратегии
Я пытаюсь понять шаблон стратегии и спрашиваю себя: должен ли быть контекстный класс или я могу оставить его без компромисса с целью шаблона? У меня сложилось впечатление, что мне нужен какой-то переключатель для чтения разных типов файлов, но я не хотел просто что-то взламывать, а потом заниматься рефакторингом (хотя, конечно, …

1
Почему основная память для размещения объектов называется «кучей»?
Кто-нибудь понял, почему область основной памяти, где размещаются объекты, называется кучей. Я могу понять обоснование для стека LIFO, но хотел бы знать, каково обоснование для имени «кучи».

3
Какая опция для кросс-браузерной / системной совместимости 3D-графики на веб-странице?
Я хотел бы развить немного функциональности для веб-сайта, который включает немного 3D - пользователь может перемещаться вокруг объектов, вращать их и текстурировать их. До сих пор я изучал: WebGL (в частности, Three.js), и он выглядит великолепно, но не поддерживается ни в IE, ни в IOS. IOS поддерживает <canvas>тег, но только …

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