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

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

5
Нужен ли мне модульный тест, если у меня уже есть интеграционный тест?
Если у меня уже есть интеграционный тест для моей программы, и все они прошли, то у меня хорошее предчувствие, что это сработает. Тогда каковы причины написания / добавления модульных тестов? Так как в любом случае мне уже приходится писать интеграционные тесты, я бы хотел писать модульные тесты только для частей, …

2
Суммируйте изменения (вставки и удаления) в Git [закрыто]
Я хочу посмотреть, как со временем выросла моя кодовая база. GitHub имеет хорошее +/-отображение в списке проверок, что дает ощущение этого. Могу ли я использовать что-то подобное с моим репозиторием в Google Code или в автономном режиме?
47 git 

8
Каковы преимущества безопасности системы типов?
В JavaScript: Хорошие части Дугласа Крокфорда он упоминает в своей главе о наследовании: Другое преимущество классического наследования заключается в том, что оно включает в себя спецификацию системы типов. Это в основном освобождает программиста от необходимости писать явные операции приведения, что очень хорошо, потому что при приведении в действие преимущества безопасности …

1
Почему мир .Net, кажется, заключает в себе магические строки вместо статически типизированных альтернатив?
Итак, я работаю в .Net. Я делаю проекты с открытым исходным кодом в .Net. Одна из моих самых больших проблем с этим связана не с .Net, а с сообществом и структурами вокруг него. Повсюду кажется, что магические схемы именования и строки рассматриваются как лучший способ сделать все. Смелое утверждение, но …

14
Что с отвращением к документации в отрасли?
Кажется, есть отвращение к написанию даже самой базовой документации. Наш проект README относительно голый. В документах нет даже обновленных списков зависимостей. Есть ли что-то, чего я не знаю в индустрии, что заставляет программистов не любить писать документацию? Я могу напечатать абзацы документов, если это необходимо, так почему другие так не …

3
Что такое инжектор конструктора?
Я смотрел на внедрение терминов и внедрение зависимостей, просматривая статьи по шаблонам проектирования (локатор служб). Когда я гуглил о внедрении конструктора, я получил неясные результаты, что побудило меня проверить здесь. Что такое инжектор конструктора? Это особый тип внедрения зависимости? Канонический пример был бы очень полезен! редактировать Пересматривая эти вопросы после …

5
Есть ли недостатки или проблемы с Haskell?
Я смотрю на погружение в Haskell для моего следующего (относительно тривиального) личного проекта. Причины, по которым я занимаюсь Haskell: Получить мою голову на чисто функциональный язык Скорость. Хотя я уверен, что с этим можно поспорить, из-за того, что я видел гвозди на Haskell, близкие к C ++ (и, похоже, немного …
47 haskell 

3
Разработка Android с использованием C и C ++ [закрыто]
Я разработчик C, C ++. Я заинтересован в мобильной разработке. Я хочу знать, как я могу разрабатывать приложения для Android с использованием C и C ++, я прочитал, что они предоставляют набор для разработчиков на C, C ++, но он не имеет всех функций, как в наборе Java. Стоит ли …
47 c++  c  android 

4
Дело за обфускацией кода?
Каковы основные причины написания запутанного кода с точки зрения реальной выгоды для людей, разрабатывающих код, и для бизнеса, который запускает этот код (если рассматриваемый код на самом деле является коммерческим кодом)? Существуют ли документированные случаи (доступные онлайн в некоторых местах), в которых описывается, когда запутывание приносит больше пользы, чем вреда? …

4
Почему #include <iostream.h> плохо?
Я читал другую ветку, где парень спрашивал о книгах по С ++ для начинающих, и один из отвечавших программистов написал это: Некоторые предупреждения: избегайте всех книг, которые представляют «привет мир» с #include &lt;iostream.h&gt; Я открыл свою книгу по C ++ и, конечно же, включил заголовок iostream, как в примере выше. …

3
Каковы преимущества ООП на основе прототипов перед ООП на основе классов?
Когда я впервые начал программировать Javascript после того, как в основном работал с ООП в контексте языков, основанных на классах, я был озадачен тем, почему ООП на основе прототипов когда-либо предпочтительнее ООП на основе классов. Каковы структурные преимущества использования ООП на основе прототипа, если таковые имеются? (Например, можем ли мы …

2
Как должен быть организован код модульного теста C ++ для максимальной эффективности модульного теста?
Этот вопрос не о модульном тестировании. Этот вопрос не о написании модульных тестов. Этот вопрос о том, куда поместить написанный код UT и как / когда / где его компилировать и запускать. В работе эффективно с унаследованным кодом , Майкл Перья утверждает , что хорошие юнит-тесты ... беги быстро и …

9
Почему невозможно произвести действительно случайные числа?
Я пытался решить проблему хобби, которая требовала генерации миллиона случайных чисел. Но я быстро понял, что становится сложно сделать их уникальными. Я взял Руководство по разработке алгоритмов, чтобы прочитать о генерации случайных чисел. У него есть следующий абзац, который я полностью не в состоянии понять. К сожалению, генерация случайных чисел …

5
Как мне стать ведущим разработчиком? [закрыто]
Я стал ведущим разработчиком в конкретном проекте, но мне трудно сосредоточиться на общей картине и убедиться, что все части проекта покрыты. Что я должен иметь в виду при управлении этим проектом? Как я могу убедиться, что все обрабатывается так, как должно?

13
Почему оператор присваивания присваивается левой стороне?
Я начала преподавать программирование подруге совсем недавно (мы используем Python), и когда мы начали обсуждать создание переменных и оператор присваивания, она спросила, почему значение справа присваивается имени слева, а не наоборот , Я не слишком много думал об этом раньше, потому что это казалось мне естественным, но она сказала, что …

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