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

34
Должны ли быть модульные тесты для сложных регулярных выражений?

Должен ли я написать модульные тесты для сложных регулярных выражений в моем приложении? С одной стороны: их легко тестировать, потому что формат ввода и вывода часто прост и четко определен, и они могут часто становиться настолько сложными, что их тесты особенно полезны. С другой стороны: они сами...

34
Является ли это запахом кода, чтобы хранить общие объекты в контейнере, а затем получать объекты и выгружать объекты из контейнера?

Например, у меня есть игра, в которой есть несколько инструментов для повышения способности игрока: Tool.h class Tool{ public: std::string name; }; И некоторые инструменты: Sword.h class Sword : public Tool{ public: Sword(){ this->name="Sword"; } int attack; }; Shield.h class Shield : public...

34
Каков реалистичный, максимальный размер для базы данных SQLite?

В соответствии с этой статьей о подходящем использовании для SQLite говорится, что, хотя SQLite ограничен 140 терабайтами , клиент-серверная СУБД может работать лучше: Размер базы данных SQLite ограничен 140 терабайтами (2 47 байт, 128 тибибайт). И даже если он может обрабатывать большие базы...

34
Должен ли я действительно использовать все прописные буквы для моих констант?

Я в основном программист на Python, который использует pylint для слияния исходного кода. Я могу удалить все предупреждения, кроме одного: Неверное имя для константы. Изменение названия на все заглавные буквы исправляет это, но действительно ли я должен это делать? Если я сделаю это, я обнаружу,...

34
Заставить других разработчиков вызывать метод после завершения их работы

В библиотеке Java 7 у меня есть класс, который предоставляет сервисы другим классам. После создания экземпляра этого класса обслуживания один его метод может вызываться несколько раз (назовем его doWork()методом). Поэтому я не знаю, когда работа класса обслуживания будет завершена. Проблема в том,...

34
Является ли это использование символической константы излишним?

Я довольно новичок в разработке программного обеспечения, поэтому в качестве учебного упражнения я написал игру в шахматы. Мой друг посмотрел на него и указал, что мой код выглядит for (int i = 0; i < 8; i++){ for (int j = 0; j < 8; j++){ в то время как он настоял, что это должно быть вместо...

34
Микросервисы и хранимые процедуры

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

33
Как часто вы используете формальный UML?

Я использовал специальный MUML (язык искусственного моделирования), чтобы довольно часто проектировать и объяснять систему. Это похоже на UML и имеет тенденцию быть довольно хорошо понятым. Однако у меня был один или два профессора, которые использовали строгий формальный UML, максимально...

33
Являются ли шаблоны проектирования силой хорошего или плохого? [закрыто]

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

33
Как наиболее эффективно отлаживать код? [закрыто]

Ошибки, попадающие в код, могут быть сведены к минимуму, но не полностью устранены, как написано - программисты, хотя многие не согласны , только люди. Когда мы обнаруживаем ошибку в нашем коде, что мы можем сделать, чтобы устранить ее? Как нам подходить к этому, чтобы наиболее эффективно...

33
Самая большая ошибка, которую вы когда-либо совершали [закрыто]

Как и вопрос, который я прочитал о сбое сервера, какая самая большая ошибка, которую вы когда-либо совершали на позиции, связанной с ИТ. Несколько примеров от друзей: Мне нужно было поработать на производственном сайте, поэтому я решил скопировать действующую базу данных на бета-сайт. Довольно...

33
Почему так мало крупных сайтов используют стек Microsoft? [закрыто]

Вдобавок ко всему, я могу вспомнить несколько крупных сайтов, которые используют стек Microsoft Microsoft.com Dell Мое пространство Много рыбы Переполнение стека Hotmail, Bing, WindowsLive Тем не менее, судя по наблюдениям, почти все 500 лучших сайтов работают под управлением других платформ....

33
Выбор мозга во время собеседования [закрыто]

Недавно я проходил собеседование в крупной компании в Силиконовой долине, где занимал должность старшего разработчика программного обеспечения / занимался исследованиями и разработками. У меня было несколько технических телефонных экранов, собеседование на месте в течение всего дня и больше...

33
Работаете бесплатно? [закрыто]

Я наткнулся на эту статью « Работай бесплатно», которая заставила меня задуматься Целью каждого работодателя является получение большей отдачи от работников, чем фирма платит заработной платой; в противном случае нет никакого роста, никакого продвижения и никакой выгоды для работодателя. И...

33
Как вы относитесь к непрограммистам с идеями «Следующая большая вещь»?

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

33
Разумно ли для разработчика высокого уровня тратить время на изучение ассемблера? [закрыто]

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

33
Какие метрики полезны для исходного кода? [закрыто]

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

33
Является ли система типов Haskell препятствием для понимания функционального программирования? [закрыто]

Я изучаю Haskell с целью понимания функционального программирования, ожидая, что я буду применять полученные знания на других языках (в основном Groovy, Python, JavaScript). Я выбрал Haskell, потому что у меня сложилось впечатление, что он очень чисто функциональный и не допускает никакой...

33
JIT-компилятор для C, C ++ и тому подобное

Есть ли компилятор точно в срок для скомпилированных языков, таких как C и C ++? (Первые имена, которые приходят на ум, это Clang и LLVM! Но я не думаю, что они в настоящее время поддерживают это.) Объяснение: Я думаю, что программное обеспечение могло бы выиграть от обратной связи профилирования...