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

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

6
Должна ли переменная называться Id или ID? [закрыто]
Это немного педантично, но я видел, как некоторые люди используют Idкак: private int userId; public int getUserId(); и другие используют: private int userID; public int getUserID(); Одно из них лучше, чем другое? Почему? Я видел, что это было сделано очень непоследовательно в больших проектах. Если бы я установил стандарт, с …

11
Уместно ли интервьюерам спрашивать у кандидатов свое имя пользователя в Stack Exchange? [закрыто]
Считаете ли вы это уместным, если вас попросили указать ваше имя пользователя в Stack Exchange на собеседовании по программному обеспечению (или в качестве вопроса для предварительного собеседования)? Мне кажется, что это очень разумный запрос, который был бы чрезвычайно информативным - я уверен, что смогу узнать больше о кандидате за пять …
126 interview 

11
Есть ли что-нибудь, что можно сделать с помощью рекурсии, что нельзя сделать с помощью циклов?
Есть моменты, когда использование рекурсии лучше, чем использование цикла, и времена, когда использование цикла лучше, чем использование рекурсии. Выбрав «правильный», можно сэкономить ресурсы и / или получить меньше строк кода. Есть ли случаи, когда задача может быть выполнена только с использованием рекурсии, а не цикла?
126 recursion  loops 

27
Каковы худшие ложные экономики в разработке программного обеспечения? [закрыто]
Какие наихудшие ложные экономики (то есть способы экономии денег, которые в конечном итоге стоят больше, чем они экономят) преобладают в индустрии программного обеспечения и как с ними бороться?

10
Почему большинство из нас использует 'i' в качестве переменной счетчика цикла?
Кто-нибудь задумывался над тем, почему многие из нас повторяют один и тот же шаблон, используя одни и те же имена переменных? for (int i = 0; i < foo; i++) { // ... } Кажется , больше всего кода я когда - либо смотрел на использований i, j, kи так …

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

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

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

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

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

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

14
Должно ли решение быть настолько общим, насколько это возможно, или настолько конкретным, насколько это возможно?
Скажем, у меня есть объект с атрибутом «тип». Там может быть более 20 возможных типов. Теперь меня попросили реализовать что-то, что позволило бы изменить тип с A-> B, что является единственным вариантом использования. Так я должен реализовать что-то, что позволяет произвольные изменения типа, если они являются допустимыми типами? Или я …

15
Как вы пишете модульные тесты для кода с трудно предсказуемыми результатами?
Я часто работаю с очень числовыми / математическими программами, где точный результат функции сложно предсказать заранее. Пытаясь применить TDD к этому виду кода, я часто нахожу написание тестируемого кода значительно проще, чем написание модульных тестов для этого кода, потому что единственный способ узнать ожидаемый результат - применить сам алгоритм (будь …
124 unit-testing  tdd 

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

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

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