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

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

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

5
Плохая практика - переключать дела, чтобы установить среду
За последние три года, в течение которых я работал разработчиком, я видел много примеров, когда люди использовали оператор switch для установки пути (как внутреннего, так и внешнего интерфейса) для URL. Ниже приведен пример этого: Внутренний пример (C #): public static string getHost(EnvironmentEnum environment){ var path = String.Empty; switch (environment) { …

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

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

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

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

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

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

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

1
Почему я должен использовать Bower? [закрыто]
Я могу полностью оценить преимущества менеджера пакетов, такого как Python pip, Node's npmили Ruby Gems, поскольку они делают гораздо больше, чем просто добавляют файлы в путь к вашим приложениям. Может быть, я упускаю суть, или я тупой, но вот негативы, которые я вижу: Отдельный шаг при создании проекта Отдельная зависимость …

7
Пишете в C для производительности? [закрыто]
Я знаю, что довольно часто слышал, что C обычно имеет преимущество в производительности по сравнению с C ++. Я не думал больше об этом, пока не понял, что MSVC, похоже, даже не поддерживает новейший стандарт C, но поддерживает новейший C99 (насколько я знаю). Я планировал написать библиотеку с некоторым кодом …

4
Что такое государство, изменчивое состояние и неизменное состояние?
Это вопрос новичка, но я не смог найти достаточно ответа новичка в Google. Что люди имеют в виду, когда говорят «состояние» - в программировании в целом и в программировании ОО в частности? Кроме того, что такое изменчивое и неизменное состояние - опять же, как правило, в программировании, а также конкретно …
32 state 

11
Есть ли существенная разница между запросами, объединенными предложениями 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 sql 

1
LGPL 2.1 против LGPL 3.0 Преимущества и недостатки
Из того, что я прочитал, LGPL 3.0 позволяет вам использовать лицензию вместе с другими лицензиями, более терпимыми в этом (даже не уверен в этом). В https://www.gnu.org/licenses/gpl-faq.html#AllCompatibility говорится, что он несовместим с GPLv2, в то время как LGPL 2.1 совместим с ним. Это немного противоречит тому, что я читал ... Итак, …
32 licensing  gpl  lgpl 

2
Почему логическое значение хранится в байтах внутри компьютера, когда требуется только один бит
Недавно я начал учиться писать код, и в своей книге я столкнулся с этим вопросом. «Почему логическое значение хранится в байтах внутри компьютера, когда ему требуется только один бит?» может кто-то пролить больше света на этот вопрос?

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