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

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

11
Есть ли причины не принимать программное обеспечение, поставляемое в качестве виртуальной машины?
Это вопрос логистики, а не технический вопрос. Моя компания произвела на аутсорсинг некоторые работы со встроенным программным обеспечением В частности, мы заплатили подрядчику за разработку встроенной системы для нас, поскольку у нас нет достаточных внутренних знаний, чтобы сделать это самим (у нас есть только разработчики настольных приложений). Таким образом, подрядчики …

4
REST - компромисс между согласованием контента через заголовок Accept и расширением
Я работаю над созданием RESTful API. Мы знаем, что хотим вернуть JSON и XML для любого ресурса. Я думал, что мы сделаем что-то вроде этого: GET /api/something?param1=value1 Accept: application/xml (or application/json) Однако кто-то бросил использовать расширения для этого, например, так: GET /api/something.xml?parm1=value1 (or /api/something.json?param1=value1) Каковы компромиссы с этими подходами? Лучше …

13
Как заставить модульные тесты работать быстро?
Мы достигли точки в нашем проекте, когда у нас есть почти тысяча тестов, и люди перестали беспокоиться о том, чтобы запускать их, прежде чем делать регистрацию, потому что это занимает много времени. В лучшем случае они запускают тесты, относящиеся к фрагменту кода, который они изменили, а в худшем случае просто …
40 c#  unit-testing  tdd  nunit 

6
Открытый исходный код без лицензии ... могу ли я его раскошелиться?
Несколько лет назад кто-то создал кучу действительно классных и популярных сценариев. Но они не обновлялись долго, теперь они больше не работают (целевая платформа была обновлена, и некоторые изменения необходимы). Он не выпустил его ни под какой лицензией. Я хочу исправить ошибку (в настоящее время многие целевые пользователи не могут ее …

12
Ненаписанные правила переписывания кода другого члена команды [закрыто]
Мы практикуем коллективное владение кодом. Насколько я понимаю, это означает, что любой разработчик может изменить любую строку кода, чтобы добавить функциональность, провести рефакторинг, исправить ошибки или улучшить дизайн. Но как насчет полного переписывания кода от разработчика, который все еще в команде? Должен ли я спросить его первым? Какова лучшая практика?

8
Могут ли современные языки OO конкурировать с производительностью хранилища массивов в C ++?
Я только что заметил, что каждый современный язык программирования ОО, с которым я, по крайней мере, немного знаком (в основном это просто Java, C # и D), допускает ковариантные массивы. То есть массив строк - это массив объектов: Object[] arr = new String[2]; // Java, C# and D allow this …
40 c#  java  c++  d 

9
Что можно сделать, если «привести пример» не работает? [закрыто]
Я работаю в большой компании (более 8000 человек) уже почти 2 года, и меня приняли на работу сразу после окончания учебного курса. Все здесь ежедневно сталкиваются с устаревшим кодом, который часто очень плохо спроектирован и полон хаков. Сначала я вел себя сдержанно, стараясь не слишком критиковать вещи. Но в нынешней …

9
Почему такая ограниченная поддержка Design by Contract существует в большинстве современных языков программирования?
Недавно я открыл для себя Design by Contract (DbC) и считаю, что это чрезвычайно интересный способ написания кода. Среди прочего, казалось бы, предложить: Лучшая документация. Поскольку договор является документацией, он не может быть устаревшим. Кроме того, поскольку в контракте конкретно указывается, что делает подпрограмма, это помогает поддерживать повторное использование. Упрощенная …

12
Как мне убедить моего работодателя нанять дополнительного разработчика, не продавая себя коротко? [закрыто]
Я единственный разработчик в небольшой компании. Я медленно перешел в развитие здесь; ~ 4 месяца назад 50-75% моего времени было потрачено на операции. Теперь 50-75% моего времени уходит на разработку, а остальное разделено между операциями и различными ИТ-ресурсами. Я регулярно заканчиваю работать более 50 часов в неделю. Я унаследовал несколько …

11
Существуют ли реальные случаи для C ++ без исключений? [закрыто]
В Когда использовать C над C ++ и C ++ над C? есть утверждение относительно к размеру кода / C ++ исключения: Джерри отвечает (среди прочего): (...) Сложно создать действительно крошечные исполняемые файлы на C ++. Для действительно небольших систем вы все равно редко пишете много кода, а дополнительный (...) …
40 c++  exceptions 

16
Современный язык программирования с интуитивно понятными абстракциями параллельного программирования [закрыто]
Я заинтересован в изучении параллельного программирования, ориентируясь на уровень приложения / пользователя (не системное программирование). Я ищу современный язык программирования высокого уровня, который предоставляет интуитивные абстракции для написания параллельных приложений. Я хочу сосредоточиться на языках, которые повышают производительность и скрывают сложность параллельного программирования. Чтобы привести некоторые примеры, я не считаю …

17
Будут ли мои коммуникативные навыки потрачены впустую в карьере программиста? [закрыто]
Я работаю в сфере финансового инжиниринга (после BA Math и BA Computer Science) около 5 лет (20% анализ / программирование, 80% общение) и горжусь своей способностью общаться с людьми и обсуждать технические проблемы (то есть взаимодействие с командой). Мне нравится эта часть моей работы. Идем к белой доске для рисования …

14
Программирование или информатика вообще, все об алгоритмах?
Как аспирант, я считаю, что престижные компании (такие как Google, Facebook, Microsoft, ...) все чаще и чаще ставят вопросы об алгоритмах в свои тесты и интервью. Несколько стартапов, к которым я обращался, также спрашивали об алгоритмах. Интересно, является ли беглость алгоритмов самой важной вещью для разработчика программного обеспечения в этих …

13
Почему и по каким причинам разработчикам может не понравиться «ежедневная схватка»? [закрыто]
В проведении ежедневных схваток есть такие преимущества, как: Команда скоординирована друг с другом Все знают, сколько заданий было выполнено Диаграмма Burndown становится все более и более полной Панель задач обновлена Это не так долго, 15 минут никого не убьют Однако в последнее время (после 6 месяцев внедрения и использования scrum) …

20
Делает ли обучение программированию тебя лучшим программистом [закрыто]
Я считаю себя программистом среднего уровня на Python, и мне предложили стать тренером для начинающих программистов на Python. Мне было интересно, действительно ли это расширит мой программный репертуар. Был ли у кого-нибудь полезный опыт после того, как он успешно обучил группу людей? Зависит ли это также от этих людей - …

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