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

32
Следует ли нам избегать использования шаблонов проектирования в постоянно меняющихся проектах?

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

32
Почему базы кода в n-уровневой разработке имеют равное количество, если не больше, кода JavaScript сейчас?

Я давно занимаюсь веб-программированием, и где-то я забыл, почему мы делаем то, что делаем сегодня (или как мы поступили так)? Я начал с базовой веб-разработки на ASP, и очень рано, на странице были смешаны отображение и бизнес-логика. Разработка на стороне клиента сильно различалась (VBScript,...

32
Разрешить итерацию внутреннего вектора без утечки реализации

У меня есть класс, который представляет список людей. class AddressBook { public: AddressBook(); private: std::vector<People> people; } Я хочу позволить клиентам перебирать вектор людей. Первая мысль у меня была просто: std::vector<People> & getPeople { return people; } Однако я не...

32
Есть ли существенная разница между запросами, объединенными предложениями WHERE, и запросами, использующими фактическое JOIN?

В « Изучение SQL трудным путем» (упражнение шестое) автор представляет следующий запрос: SELECT pet.id, pet.name, pet.age, pet.dead FROM pet, person_pet, person WHERE pet.id = person_pet.pet_id AND person_pet.person_id = person.id AND person.first_name = "Zed"; а затем продолжает говорить, что:...

32
Является ли адрес 0000000C специальным адресом?

При программировании иногда что-то ломается. Вы ошиблись, и ваша программа пытается прочитать не с того адреса. Одна вещь, которая выделяет меня, что часто эти исключения похожи на: Access violation at address 012D37BC in module 'myprog.exe'. Read of address 0000000C. Теперь я вижу много журналов...

32
почему люди делают REST API вместо DBAL?

В прошлых двух компаниях, в которых я работал в REST API, существовал запрос данных через веб-приложение. то есть. вместо того, чтобы веб-приложение выполняло SQL напрямую, оно вызывает REST API, которое выполняет SQL и возвращает результат. Мой вопрос ... почему это сделано? Если бы это собиралось...

32
Принцип наименьшего знания

Я понимаю мотив, лежащий в основе принципа наименьшего количества знаний , но я нахожу некоторые недостатки, если пытаюсь применить его в своем проекте. Один из примеров этого принципа (на самом деле, как его не использовать), который я нашел в книге Head First Design Patterns, указывает на то, что...

32
Почему Windows / Linux не используют реляционные базы данных (RDBMS)?

Почему Windows / Linux не использует реляционные базы данных ( RDBMS )? Я знаю, что они используют файловые системы для хранения всех данных, но не думаете ли вы, что более эффективно использовать базы данных, которые мы используем в веб-сайтах / веб-приложениях? Пожалуйста, уточните использование...

32
Плохая практика - переключать дела, чтобы установить среду

За последние три года, в течение которых я работал разработчиком, я видел много примеров, когда люди использовали оператор switch для установки пути (как внутреннего, так и внешнего интерфейса) для URL. Ниже приведен пример этого: Внутренний пример (C #): public static string...

32
Это хорошая практика, чтобы использовать список перечислений?

В настоящее время я работаю в системе, где есть пользователи, и у каждого пользователя есть одна или несколько ролей. Является ли хорошей практикой использование списка значений Enum для пользователя? Я не могу придумать ничего лучшего, но с этим не все в порядке. enum Role{ Admin = 1, User = 2, }...

32
Какой стиль лучше (переменная экземпляра против возвращаемого значения) в Java

Мне часто бывает трудно решить, какой из этих двух способов использовать, когда мне нужно использовать общие данные для некоторых методов в моих классах. Что будет лучшим выбором? В этом варианте я могу создать переменную экземпляра, чтобы избежать необходимости объявлять дополнительные переменные,...

32
Зачем нам нужны перечисления в динамически типизированных языках?

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

32
Почему каретка использовалась для XOR вместо возведения в степень?

Не то чтобы это действительно было проблемой для любого, кто сталкивался с этой синтаксической проблемой раньше, но я вижу дикую путаницу, возникающую из-за использования caret ( ^) в качестве операции XOR вместо широко принятой математической операции возведения в степень. Конечно, есть много...

32
Откуда мы знаем, что следующее поколение будет лучше?

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

32
Стратегии слияния 1 год разработки в Visual Studio

У меня есть клиент, который настаивал на том, чтобы мы полностью отделили нашу новую разработку от основных веток на весь 2016 год. У них было 3-4 другие команды, работающие над приложением в различных областях. Многочисленные большие изменения были внесены (переключение, как делается внедрение...

32
Занимает ли хранение простых текстовых данных меньше места, чем хранение эквивалентного сообщения в двоичном формате

Как веб-разработчик, я очень мало разбираюсь в двоичных данных. Если я возьму предложение «Hello world.», Преобразую его в двоичный файл и сохраню как двоичный файл в базе данных SQL, кажется, что 1 и 0 занимают больше места, чем буквы. Мне кажется, что использование букв будет похоже на сжатие,...

32
Является ли «Parent x = new Child ();» вместо «Child x = new Child ();» плохой практикой, если мы можем использовать последний?

Например, я видел несколько кодов, которые создают такой фрагмент: Fragment myFragment=new MyFragment(); которая объявляет переменную как Fragment вместо MyFragment, а MyFragment является дочерним классом Fragment. Я не удовлетворен этой строкой кодов, потому что я думаю, что этот код должен быть:...

32
Моделирование имени и фамилии отдельно

Какие аргументы следует учитывать при проектировании новой системы и нужно ли хранить имя человека как одно поле или отдельно как имя / фамилию? Плюсы для одного поля: Упрощенный интерфейс Нет двусмысленности при попытке ввести имя человека, у которого очень длинное имя (часто неясно, какая фамилия...

32
Использование GUID в качестве первичного ключа

Я обычно использую идентификаторы автоинкремента как первичные ключи в базах данных. Я пытаюсь узнать о преимуществах использования GUID. Я прочитал эту статью: https://betterexplained.com/articles/the-quick-guide-to-guids/ Я понимаю, что эти GUID используются для идентификации объектов на уровне...

32
Что означает это утверждение о том, что C # и Java являются половиной языка? [закрыто]

В статье: Почему POCO , есть это предложение: Мачей Собчак хорошо говорит: «Мне просто не нравится, когда кто-то дает мне половину языка и говорит, что это для моей собственной защиты». Я не понимаю, что он имеет в виду, хотя C # принадлежит Microsoft, а Java принадлежит Oracle , это не значит, что...