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

50
Когда вам НЕ следует использовать регулярные выражения? [закрыто]

Регулярные выражения являются мощным инструментом в арсенале программиста, но - в некоторых случаях они не являются лучшим выбором или даже просто вредны. Простой пример # 1 - анализ HTML с помощью регулярного выражения - известная дорога к многочисленным ошибкам. Возможно, это также относится к...

50
Почему спецификации исключений плохие?

В школе более 10 лет назад они учили вас использовать спецификаторы исключений. Так как мой фон, как один из них Torvaldish Программисты, которые упорно избегает C ++, если не принуждал, я только в конечном итоге в C ++ спорадически, и когда я делаю, я до сих пор используют исключения...

50
Организация Git-репозиториев с общими вложенными подмодулями

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

50
Я не хороший программист (по логике), как мне это исправить? [закрыто]

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

50
Различия между программированием в школе и программированием в промышленности? [закрыто]

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

50
Должны ли модульные тесты храниться в хранилище?

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

50
Программирование с группой людей, которых я никогда не встречал

Мне поручили групповой проект из моего курса информатики в AP, и я должен работать с тремя другими людьми. Я никогда не разговаривал с ними раньше, я понятия не имею об их уровне квалификации, и все, что у меня есть, это их адрес электронной почты. Подведение итогов: «В команде вы пройдете минимум...

50
Scrum - как перенести частично завершенную пользовательскую историю на следующий спринт, не искажая отставание

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

50
Основные моменты для задач по исправлению ошибок: Подходит ли это для Scrum?

Мне просто интересно, должны ли мы присваивать исторические баллы задачам по исправлению ошибок или нет. JIRA, наши проблемы отслеживания программного обеспечения, не имеет поле точки история для Bug вопросов типа (это только история с и Эпическая s). Должны ли мы добавить тип проблемы Ошибка к...

50
Entity Framework с большими системами - как разделить модели?

Я работаю с базой данных SQL Server с 1000+ таблицами, еще несколькими сотнями представлений и несколькими тысячами хранимых процедур. Мы надеемся начать использовать Entity Framework для наших новых проектов, и мы работаем над нашей стратегией для этого. Я зациклен на том, как лучше разбить...

50
Каковы преимущества сопутствующих объектов Scala по сравнению со статическими методами?

Scala не имеет статического ключевого слова, но вместо этого имеет аналогичную функциональность через сопутствующие объекты. За кулисами сопутствующие объекты компилируются в классы, которые имеют статические методы, поэтому все это синтаксический сахар. Каковы преимущества этого выбора дизайна?...

50
Почему == оператор сравнения значений строк не попал в Java?

Каждый компетентный Java-программист знает, что вам нужно использовать String.equals () для сравнения строки, а не ==, потому что == проверяет равенство ссылок. Когда я имею дело со строками, большую часть времени я проверяю равенство значений, а не ссылочное равенство. Мне кажется, что было бы...

50
RESTful API дизайн. Что я должен вернуть, если нет строк?

В настоящее время я пишу API для социальной сети с Slim Framework. Мой вопрос: каковы лучшие практики, когда в структуре json нет строк для возврата? Допустим, этот вызов / v1 / get / movies возвращает 2 строки из таблицы названий фильмов: [ {"name": "Ghostbusters"}, {"name": "Indiana Jones"} ] Но...

50
Я не понимаю, как TDD помогает мне получить хороший дизайн, если мне нужен дизайн, чтобы начать его тестировать

Я пытаюсь обернуть голову вокруг TDD, особенно в части разработки. Я посмотрел некоторые книги, но те, которые я нашел, в основном касаются части тестирования - История NUnit, почему тестирование хорошо, Red / Green / Refactor и как создать String Calculator. Хорошие вещи, но это "просто" модульное...

50
Почему «Разбуди меня на GitHub»? [закрыто]

Я понимаю, как работает GitHub , но меня смутило то, почему почти каждый проект OSS в последнее время имеет ссылку «Раздать меня на GitHub» на своей домашней странице. Например, http://jqtjs.com/ , http://www.daviddurman.com/flexi-color-picker/ и другие. Почему это так часто? Это то, что они хотят...

50
Как далеко мы должны переименовывать код и данные при изменении номенклатуры конечных пользователей?

Давным-давно мы добавили функцию, с помощью которой наши пользователи могли «принять» изображение после его добавления в очередь рабочего процесса. Оказывается, мы использовали неправильный термин, и пользователи фактически «одобряют» изображение. Изменить Accept для Approve в нашем интерфейсе...

50
Должен ли я всегда использовать «is» в качестве префикса для логических переменных? [закрыто]

Должен ли я всегда использовать в isкачестве префикса для логических переменных? Как насчет логических значений, которые указывают что-то в прошлом? Должен ли я написать isInitializedили wasInitialized? Должен ли я написать для свойств IsManyMembersили HasManyMembers? Есть ли лучшие практики? Или я...

50
C ++ строго типизированный typedef

Я пытался придумать способ объявления строго типизированных typedefs, чтобы поймать определенный класс ошибок на этапе компиляции. Часто бывает, что я буду вводить int для нескольких типов идентификаторов или вектора для положения или скорости: typedef int EntityID; typedef int ModelID; typedef...