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

125
Как работает слушатель событий?

Во время одной из моих сегодняшних лекций об Unity мы обсуждали обновление позиции нашего игрока, проверяя каждый кадр, нажата ли кнопка пользователя. Кто-то сказал, что это неэффективно, и вместо этого мы должны использовать прослушиватель событий. Мой вопрос, независимо от языка программирования...

125
Как безопасно удалить фрагмент кода, который выглядит так, как будто он никогда не вводится?

Вы нашли некоторый код, который выглядит излишним, а компилятор этого не замечает. Что вы делаете, чтобы быть уверенным (или настолько близким, насколько можете), что удаление этого кода не вызовет регрессии. На ум приходят две идеи. «Просто» используйте дедукцию, основанную на том, должен ли код...

125
Как вы храните «нечеткие даты» в базе данных?

Это проблема, с которой я столкнулся несколько раз. Представьте, что у вас есть запись, которую вы хотите сохранить в таблице базы данных. Эта таблица имеет столбец DateTime с именем «date_created». Эта конкретная запись была создана очень давно, и вы не совсем уверены в точной дате, но знаете год...

125
Может ли функция быть слишком короткой?

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

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

Опционы на акции не имеют особого смысла, поскольку компания частная. [Так и есть, если вы своего рода фейсбук и система регулирования разрешает такие сайты, как secondmarket, но я отвлекся.] Я мог бы подумать о некоторых: Польза для здоровья родителей и родителей в законе Спонсировать экономный...

124
Когда не следует использовать шаблон внедрения зависимостей?

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

124
Как вы пишете модульные тесты для кода с трудно предсказуемыми результатами?

Я часто работаю с очень числовыми / математическими программами, где точный результат функции сложно предсказать заранее. Пытаясь применить TDD к этому виду кода, я часто нахожу написание тестируемого кода значительно проще, чем написание модульных тестов для этого кода, потому что единственный...

124
Должно ли решение быть настолько общим, насколько это возможно, или настолько конкретным, насколько это возможно?

Скажем, у меня есть объект с атрибутом «тип». Там может быть более 20 возможных типов. Теперь меня попросили реализовать что-то, что позволило бы изменить тип с A-> B, что является единственным вариантом использования. Так я должен реализовать что-то, что позволяет произвольные изменения типа,...

124
Почему Git получил так много шумихи? ... а другие нет? [закрыто]

В последние годы ажиотаж вокруг Git сильно возрос. Все знают о Git, никто не знает об альтернативах. Другие, такие как Mercurial, кажутся незамеченными. Оба были выпущены в 2005 году и имеют схожие функции. Более того, Mercurial, как правило, считается более простым в использовании, более...

124
Команда постоянно не справляется со спринтерскими целями

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

123
Циклы рекурсии или пока

Я читал о некоторых практиках интервью для разработчиков, в частности о технических вопросах и тестах, которые задавались на собеседованиях, и я несколько раз спотыкался о высказываниях жанра: «Хорошо, вы решили проблему с помощью цикла while, теперь вы можете сделать это с помощью рекурсия ", или"...

123
Программирование с ADD / ADHD [закрыто]

Я поставил диагноз ДОБАВИТЬ. Мягко, но достаточно, чтобы повлиять на мою работу: Легко отвлекающийся Не могу сосредоточиться на одном проекте за раз Зависимый от сети Прокрастинация и т.п. Какие стратегии вы используете для компенсации? Одно уточнение У меня есть настоящее ДОБАВЛЕНИЕ. Мне поставили...

123
Как я могу минимизировать боль при мерзости, когда все работают над мастером?

Наша команда по документации из десяти человек недавно переехала из SVN в Git. В SVN все работали над мастером - моделью, которую я всегда ненавидел, но я не смог добиться этого изменения. В рамках перехода к Git мы согласились исправить это, но пока не можем этого сделать (ожидаем изменений в...

123
Есть ли «реальная» причина, по которой множественное наследование ненавидят?

Мне всегда нравилась идея поддержки множественного наследования в языке. Чаще всего это преднамеренно, и предполагаемая «замена» - это интерфейсы. Интерфейсы просто не охватывают все то же основание, что и множественное наследование, и это ограничение может иногда приводить к дополнительному...

122
Что вы должны проверить с юнит-тестами?

Я недавно закончила колледж и начинаю учиться где-то на следующей неделе. Мы видели модульные тесты, но мы их мало использовали; и все говорят о них, так что я подумал, может быть, я должен сделать что-нибудь. Проблема в том, что я не знаю, что тестировать. Должен ли я проверить общий случай?...

122
В чем разница между требованиями и спецификациями? [закрыто]

Мне было поручено разработать требования и спецификации для проекта, который начинает наша группа. Я понял, что я не знаю разницу; поиск в Google только смутил меня больше - кажется, некоторые люди говорят, что спецификации - это требования, но на более низком...

122
Два HTML-элемента с одинаковым атрибутом id: насколько это плохо на самом деле?

Просто просмотрите исходный код Google Maps. В заголовке у них есть 2 div с id = "search", один содержит другой, а также имеет атрибут jstrack = "1". Есть форма, разделяющая их так: <div id="search" jstrack="1"> <form action="/maps" id="...rest isn't important"> ... <div...

122
Я до сих пор не могу понять, как программировать?

Я прочитал много книг для различных языков программирования, Java, Python, C и т. Д. Я понимаю и знаю все основы языков, и я понимаю алгоритмы и структуры данных. (Эквивалентно скажем, два года занятий по информатике) НО я до сих пор не могу понять, как написать программу, которая делает что-нибудь...

122
Можно ли немного переписать каждую строку проекта с открытым исходным кодом и использовать ее в проекте с закрытым исходным кодом?

Есть некоторый код GPL или LGPL, который я рассматриваю для использования в проекте iPhone. Если бы я взял этот код (JavaScript) и переписал его на другом языке для использования на iPhone, это было бы юридической проблемой? Теоретически, процесс, который произошел, состоит в том, что я прошел...

122
Чем «Разработчик программного обеспечения» отличается от «Консультанта по программному обеспечению»? Что делает консультант?

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