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

63
Почему в CSS и SVG допустимо большое количество магических чисел?

Часто я вижу вопросы , включенные в список Hot Network Вопросы , как это , что в основном спрашивают «как я могу сделать эту произвольную форму в CSS». Неизменно ответом является пара блоков данных CSS или SVG с кучей, казалось бы, случайных жестко закодированных значений, которые формируют...

62
Каковы преимущества использования Dependency Injection и IoC Containers?

Я планирую выступить с докладом о внедрении зависимостей и контейнерах IoC, и я ищу хорошие аргументы для его использования. Каковы наиболее важные преимущества использования этой техники и этих...

62
Письменные роли менеджера по разработке программного обеспечения [закрыто]

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

62
Каково хранилище Google?

Я слышал, что у Google есть гигантское частное (внутреннее) хранилище всего их кода, и его сотрудники имеют к нему доступ, так что при разработке вещей им не нужно изобретать велосипед. Я хотел бы знать больше об этом! Есть ли здесь кто-нибудь из Google, который может описать это немного более...

62
Имея дело с разочарованием, когда вещи не работают [закрыто]

Вы когда-нибудь пытались реализовать что-то простое, но по какой-то странной причине это не работает. Таким образом, вы пытаетесь найти возможное решение, но тогда что-то еще не работает. Вы продолжаете пробовать разные обходные пути, но каждый раз что-то другое не работает. Каждый раз, когда вы...

62
Вы имели дело с космической закалкой?

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

62
Что вызывает ошибки округления с плавающей запятой?

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

62
Является ли объединение объектов устаревшей техникой?

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

62
Как я могу убедить ковбойских программистов использовать контроль исходного кода?

ОБНОВЛЕНИЕ Я работаю в небольшой команде разработчиков, 4 парня. Все они использовали систему контроля версий. Большинство из них не могут выдержать контроль над исходным кодом и предпочитают не использовать его. Я твердо верю, что контроль источников является необходимой частью профессионального...

62
Должны ли мы проверить все наши методы?

Поэтому сегодня я поговорил с моим товарищем по команде о модульном тестировании. Все началось, когда он спросил меня: «Привет, где тесты для этого класса, я вижу только один?». Весь класс был менеджером (или службой, если вы предпочитаете называть это так), и почти все методы просто делегировали...

62
Почему мы должны помещать частных членов в заголовки?

Закрытые переменные - это способ скрыть сложность и детали реализации для пользователя класса. Это довольно приятная особенность. Но я не понимаю, почему в C ++ нам нужно поместить их в заголовок класса. Я вижу два досадных недостатка в этом: Загромождает заголовок от пользователя Вызывает...

62
Почему хорошо разбить программу на несколько классов? [закрыто]

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

62
Разве MVC не против ООП?

Основная идея ООП заключается в объединении данных и поведения в единую сущность - объект. В процедурном программировании есть данные и отдельно алгоритмы, модифицирующие данные. В шаблоне Model-View-Controller данные и логика / алгоритмы размещаются в разных объектах, модели и контроллере...

62
Что такое пул потоков?

Как реализовать пул потоков? Я читал в википедии слова «пул потоков», но до сих пор не могу понять, что нужно сделать, чтобы решить этот вопрос (возможно, потому, что я не совсем понял, что такое пул потоков в простых терминах). Может ли кто-нибудь объяснить мне простым языком, что такое поток...

62
Есть ли причина не переходить непосредственно из клиентского Javascript в базу данных?

Возможное дублирование: написание веб-приложений «без сервера» Итак, допустим, я собираюсь создать клон Stack Exchange и решил использовать что-то вроде CouchDB в качестве своего внутреннего хранилища. Если я использую их встроенную аутентификацию и авторизацию на уровне базы данных, есть ли...

62
Как обрабатывать деление на ноль в языке, который не поддерживает исключения?

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

62
Достаточно ли использовать приемочные и интеграционные тесты вместо юнит-тестов?

Краткое введение в этот вопрос. Я использовал сейчас TDD и в последнее время BDD уже более года. Я использую такие приемы, как издевательство, чтобы писать свои тесты более эффективно. В последнее время я начал личный проект, чтобы написать небольшую программу управления капиталом для себя....

62
Что предлагает HATEOAS для обнаружения и отделения, помимо возможности более или менее свободно изменять структуру URL-адресов?

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

62
Если я разберусь с проектом на Github, который лицензирован по MIT, как мне обработать уведомление об авторстве и авторских правах?

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

62
Инъекция зависимостей: Инъекция поля в сравнении с Инъекцией в конструктор?

Я знаю, что это горячая дискуссия, и мнения, как правило, меняются с течением времени. Раньше я использовал исключительно полевую инъекцию для своих классов, пока не начал читать в разных блогах (например, petrikainulainen и schauderhaft and fowler ) о преимуществах инъекции в конструктор. С тех...