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

47
Почему я должен избегать встроенных сценариев?

Знающий друг недавно посмотрел сайт, который я помог запустить, и прокомментировал что-то вроде «очень крутой сайт, позор встроенным сценариям в исходном коде». Я определенно могу удалить встроенные скрипты там, где это происходит; Я смутно осознаю, что это «плохо». Мой вопрос: каковы реальные...

47
Определение полезного юнит-теста

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

47
При каких условиях целесообразно использование MVVM?

Модель View View-Model была разработана Microsoft для целевых платформ разработки пользовательского интерфейса, которые поддерживают программирование на основе событий, в частности Windows Presentation Foundation (WPF) и Silverlight на платформах .NET с использованием языков XAML и .NET. За...

47
Почему оператор присваивания присваивается левой стороне?

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

47
Почему и когда я должен сделать класс «статическим»? Каково назначение ключевого слова static на классах?

staticКлючевое слово в качестве члена во многих языках означает , что вы не должны создать экземпляр этого класса , чтобы иметь возможность иметь доступ к этому члену. Тем не менее, я не вижу никакого оправдания, чтобы сделать весь класс static. Почему и когда я должен сделать урок static? Какие...

47
Как должен быть организован код модульного теста C ++ для максимальной эффективности модульного теста?

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

47
Каковы преимущества ООП на основе прототипов перед ООП на основе классов?

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

47
Почему невозможно произвести действительно случайные числа?

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

47
Почему #include <iostream.h> плохо?

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

47
Разработка Android с использованием C и C ++ [закрыто]

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

47
Дело за обфускацией кода?

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

47
Есть ли недостатки или проблемы с Haskell?

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

47
Где я должен поместить функции, которые не связаны с классом?

Я работаю над проектом C ++, где у меня есть куча математических функций, которые я изначально написал для использования в качестве части класса. Однако, когда я писал больше кода, я понял, что мне нужны эти математические функции везде. Где лучшее место для их размещения? Допустим, у меня есть...

47
Прикладной уровень против доменного уровня?

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

47
Являются ли переменные флага абсолютным злом? [закрыто]

Являются ли переменные флага злыми? Являются ли перечисленные ниже переменные глубоко аморальными, и стоит ли их использовать? «Булевы или целочисленные переменные, которым вы присваиваете значение в определенных местах, а затем внизу, вы проверяете, затем в другом, что-то делаете или нет, как,...

47
Что такое инжектор конструктора?

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

47
Почему мир .Net, кажется, заключает в себе магические строки вместо статически типизированных альтернатив?

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

47
Суммируйте изменения (вставки и удаления) в Git [закрыто]

Я хочу посмотреть, как со временем выросла моя кодовая база. GitHub имеет хорошее +/-отображение в списке проверок, что дает ощущение этого. Могу ли я использовать что-то подобное с моим репозиторием в Google Code или в автономном...

47
Что с отвращением к документации в отрасли?

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

47
Нужен ли мне модульный тест, если у меня уже есть интеграционный тест?

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