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

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

1
Когда использовать прототипное программирование в JavaScript
Я потратил много времени на разработку простых виджетов для проектов следующим образом: var project = project || {}; (function() { project.elements = { prop1: val1, prop2: val2 } project.method1 = function(val) { // Do this } project.method2 = function(val) { // Do that } project.init = function() { project.method1(project.elements.prop1) project.method2(project.elements.prop2) …

3
Сколько деталей нужно внести в первую итерацию проекта?
Я только начал новый личный проект (Python) и пишу, что составляет «черновик» программы, минимум, необходимый для того, что я хочу делать. Я пока не включаю расширенную обработку ошибок / исключений или эстетические элементы пользовательского интерфейса (даже в тех случаях, когда я знаю, что в конечном итоге эти вещи понадобятся), и …

6
Какова цель планирования покера в спринте?
Наши бизнес-аналитики и руководители проектов рассказывают нам о требованиях клиента в виде историй. Каждый спринт-планирование нам (разработчикам) предлагается сыграть в планирование покера. Они попросили всех нас рассмотреть «Сложность», а не «Усилие». Мы действительно растеряны и тратим время на наши встречи. Один разработчик задал вопрос: «Что нам действительно нужно рассмотреть? Речь …
15 agile  scrum  planning 

2
Требуется ли заголовок лицензии в исходных файлах при применении Apache Software License 2.0 к проекту? [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения стека Exchange. Закрыто 5 месяцев назад . Читая приложение Apache Software License 2.0, мне неясно, что именно мне теперь делать: ПРИЛОЖЕНИЕ: Как применить …

2
Каков наилучший способ создания модели ответов на ошибки REST API и системы кодов ошибок?
Моя реализация REST вернет ошибки в JSON со следующей структурой: { "http_response":400, "dev_message":"There is a problem", "message_for_user":"Bad request", "some_internal_error_code":12345 } Я предлагаю создать специальную модель ответа, в которой я могу передать необходимые значения свойств (dev_message, message_for_user, some_internal_error_code) и вернуть их. В коде это будет похоже на это: $responseModel = new …
15 php  mvc  rest  api 

4
Есть ли смысл в написании модульного теста, который является подмножеством другого теста?
Чтобы дать немного надуманный пример, скажем, я хочу проверить, что функция возвращает два числа, а первое меньше второго: def test_length(): result = my_function() assert len(result) == 2 def test_order() a, b = my_function() assert a < b Здесь, если test_lengthне test_orderполучится , то тоже не получится. Лучше написать test_lengthили пропустить? …


3
Необъектно-ориентированное программирование на объектно-ориентированном языке [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Недавно мне было поручено создать калькулятор с функциями сложения, вычитания, умножения, деления и …

4
Как сделать Test Driven Development
У меня более 2 лет опыта в разработке приложений. В эти два года мой подход к развитию был следующим Проанализировать требования Компонент Identity Core / Объекты, Обязательные функции, Поведение, Процесс и их ограничения Создавать классы, отношения между ними, ограничения на поведение объектов и состояния Создание функций, обработка с поведенческими ограничениями …

2
Кто виноват в этом диапазоне, основанном на ссылке на временный?
Следующий код выглядит довольно безобидным на первый взгляд. Пользователь использует функцию bar()для взаимодействия с некоторыми функциями библиотеки. (Это могло работать даже долгое время, так как bar()возвращало ссылку на временное значение или подобное.) Однако теперь оно просто возвращает новый экземпляр B. Bснова имеет функцию, a()которая возвращает ссылку на объект повторяемого типа …
15 c++11 

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

5
Почему * объявление * данных и функций необходимо на языке Си, когда определение написано в конце исходного кода?
Рассмотрим следующий код "C": #include<stdio.h> main() { printf("func:%d",Func_i()); } Func_i() { int i=3; return i; } Func_i()определяется в конце исходного кода, и перед его использованием в main(). не предоставляется никаких объявлений . В то самое время , когда компилятор видит Func_i()в main(), он выходит из main()и узнает Func_i(). Компилятор как-то …

3
Схема базы данных для списка задач
Я пытаюсь создать очень простое приложение со списком задач с PHP, MySQL, Jquery-шаблонами и JSON ... Однако моя схема усложняет JSON. Какой лучший способ сделать это? Новая таблица для каждого списка, содержащая элементы. или таблица для списков и таблица для элементов, которые каким-либо образом объединяются? Потому что я пробовал это, …

4
Излишне ли оборачивать коллекцию простым классом только для лучшей читабельности?
У меня есть следующая карта: Map<Double, List<SoundEvent>> soundEventCells = new HashMap<Double, List<SoundEvent>>(); Это HashMapотображает doubleзначения (которые являются точками во времени) в соответствующую SoundEvent«ячейку»: каждая «ячейка» может содержать число SoundEvents. Вот почему он реализован как List<SoundEvent>, потому что это именно то, что он есть. Ради лучшей читабельности кода я подумал о …

6
Закрытый метод модульного тестирования в c ++ с использованием класса друга
Я знаю, что это спорная практика, но давайте предположим, что это лучший вариант для меня. Мне интересно, какова реальная техника, чтобы сделать это. Подход, который я вижу, заключается в следующем: 1) Сделайте класс друга из класса, метод которого я хочу проверить. 2) В другом классе создайте открытый (ые) метод (ы), …

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