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

41
Кто-нибудь еще чувствует, что Scrum не проворен?

Я большой поклонник гибкой разработки и несколько лет назад использовал XP в очень успешном проекте. Мне понравилось все в этом, итеративный подход к разработке, написание кода вокруг теста, парное программирование, наличие клиента на месте, чтобы он мог управлять всем. Это была очень продуктивная...

41
Нужна ли регистрация при выполнении TDD?

При выполнении цикла Red, Green & Refactor мы всегда должны писать минимальный код для прохождения теста. Именно так меня учили о TDD и как почти все книги описывают этот процесс. Но как насчет регистрации? Честно говоря, я редко использовал регистрацию в приложении, если не было чего-то...

41
Имеет ли смысл использовать сервер базы данных, если приложение работает только локально?

Я видел некоторые приложения, которые в основном являются прикладными программами, которые работают локально по отношению к системе (поэтому они не имеют большой связи по сети). Эти приложения, похоже, зависят от серверов баз данных для хранения своих данных. Примером приложения является Amarok...

41
ноль против отсутствующего ключа в ответе REST API [закрыто]

Скажем, в моем приложении некоторые пользователи дают нам свою фамилию, а другие нет. В ответе REST API, какое тело является предпочтительным: С нулевым значением: {"firstName": "Bob", "lastName": null} Или просто отсутствующий ключ: {"firstName": "Bob"}...

41
Почему мы используем слово «спринт»?

Одним из основополагающих принципов Agile Manifesto является Гибкие процессы способствуют устойчивому развитию. Спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределенный срок. Команды Scrum используют термин « спринт» для обозначения рабочего...

41
Каков наилучший способ вернуть массив в качестве ответа в RESTful API?

Предположим, у нас есть такие ресурсы, book: type: object properties: author: {type: string} isbn: {type: string} title: {type: string} books: type: array items: book Таким образом, когда кто-то делает GETна ресурсе книги, мы будем возвращать следующее [{"author": "Dan Brown", "isbn": "123456",...

41
Насколько безопасно скомпилировать кусок исходного кода из случайного незнакомца? [закрыто]

Предположим, я проверяю код, который соискатели посылают для подтверждения своих навыков. Очевидно, я не хочу запускать исполняемые файлы, которые они отправляют. Не очень ясно, что я бы предпочел не запускать результат компиляции их кода (например, Java позволяет скрыть исполняемый код в...

41
Чем спинлок отличается от опроса?

Спинлок и опрос - это одно и то же? Википедия: спин-блокировка - это блокировка, которая заставляет поток, пытающийся получить его, просто ждать в цикле («вращение»), неоднократно проверяя, доступна ли блокировка. Это звучит очень похоже на: while(!ready); Меня учили избегать опросов, когда это...

41
Почему вы должны указывать тип данных при объявлении переменных?

В большинстве языков программирования (если не во всех) вам нужно объявлять переменные. Например, в C #, если это числовое поле, то int PhoneNumber Если я использую нормальный английский язык, мне не нужно указывать, PhoneNumberкак intего использовать. Например, если я попрошу моего друга Сэма дать...

41
Почему бы не вернуть даты в виде строки из базы данных?

В типичном веб-приложении даты извлекаются из слоя базы данных, строго типизированного (например, в c # как System.DateTime в противоположность System.String). Когда дату необходимо выразить в виде строки (например, отображаемой на странице), преобразование из DateTime в строку выполняется на...

41
Является ли JS Boolean с пользовательскими свойствами плохой практикой?

В JS вы можете вернуть логическое значение, имеющее пользовательские свойства. Например. когда Modernizr проверяет поддержку видео, он возвращает trueили, falseно возвращенное логическое значение (Bool является объектом первого класса в JS), имеет свойства, определяющие, какие форматы...

41
Являются ли тесты для разработки через тестирование (TDD) всегда юнит-тестами?

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

41
Разумно ли ожидать, что Any () * not * выдаст исключение нулевой ссылки?

Когда вы создаете метод расширения, вы, конечно, можете вызывать его в null.But, но в отличие от вызова метода экземпляра, для вызова его в null не нужно бросать NullReferenceException-> вы должны проверять и выбрасывать его вручную. Для реализации метода расширения Linq Any()Microsoft решила,...

40
Ежедневные ожидания - да или нет? [закрыто]

Насколько ценны (или нет), как вы думаете, ежедневные встречи ? Если вы не знакомы с ним, это относится к ежедневному собранию, которое является частью приверженцев Scrum (и некоторых других гибких методологий). Идея заключается в том, что вы проводите ежедневное собрание, рассчитанное на 15 минут...

40
Должно ли профессиональное развитие происходить в рабочее время?

Как начинающий разработчик программного обеспечения, работающий неполный рабочий день в небольшой консалтинговой компании, я изо всех сил стараюсь организовать время, чтобы углубить свои знания в области разработки программного обеспечения - будь то чтение книги, отслеживание популярных вопросов о...

40
Haskell и Lisp против Haskell или Lisp [закрыто]

В настоящее время я пишу код на C, C ++ и Python. Я хочу выбрать функциональный язык программирования, и сейчас я склоняюсь к Хаскеллу. Я НЕ хочу начинать здесь войну "Haskell vs Lisp"; что я хочу знать, так это: если я изучу Haskell, прежде всего, для ознакомления с функциональным...

40
Каковы основные алгоритмы для человечества в последние десятилетия? [закрыто]

Какие самые важные мировые алгоритмы внесли наибольший вклад в развитие человечества за последние десятилетия? Я думал, что это хорошее общее знание для разработчика, чтобы знать о. Обновление: если возможно, пожалуйста, сохраните ответ на конкретный алгоритм программирования . Я хотел бы получить...

40
Как вы попали в зону? Сколько времени это занимает? Какие шаги ты предпринимаешь раньше? [закрыто]

Попасть в зону - это приятный и плодотворный процесс. Мы создаем хороший исходный код, и мы получаем большое удовлетворение от нашей работы, проделанной в этой зоне. Но как попасть в «зону»? Вы следуете определенному процессу? Есть ли что-нибудь еще, кроме переключения системы электронной почты,...

40
Билль об ответственности программистов [закрыт]

Итак, мы все слышали о Билле о правах программистов, и у XP схожая концепция. В наши дни часто жалуются на то, что мы много слышим о правах людей, но не столько об их обязанностях, сколько о том, что должно быть в списке обязанностей программистов. Это то, что они должны делать, что они могут найти...