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

49
Каковы недостатки автоматизированного тестирования?

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

49
Есть ли каноническая книга по шаблонам дизайна? [закрыто]

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

49
Сравнение IDE для разработки на C ++ и C под Linux: KDevelop, Eclipse, NetBeans, CodeBlocks и Anjuta [закрыто]

Я хотел бы отметить ваш опыт полномасштабных IDE в Linux. Я лично работаю в основном с vim, однако другие программисты хотели бы видеть настоящую IDE. Поэтому я хотел бы услышать ваше личное мнение о различных IDE и сравнение между ними в следующем контексте: C ++ и, возможно, некоторая разработка...

49
Лет опыта в незаконченной степени? [закрыто]

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

49
Могут ли классы менеджера быть признаком плохой архитектуры?

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

49
Как управлять проблемами GitHub (приоритет и т. Д.)? [закрыто]

Я новичок в GitHub, и я ищу советы о том, как решать проблемы. Я привык иметь приоритет и другие варианты заказа, но вижу, что ни один не существует. Как другие решают проблемы в течение жизненного цикла ошибки / функции? Заранее...

49
Объяснение того, как «говори, не спрашивай» считается хорошим ОО

Этот пост был опубликован на Hacker News с несколькими отзывами. Исходя из C ++, большинство этих примеров, кажется, идут вразрез с тем, чему меня учили. Например, пример № 2: Плохо: def check_for_overheating(system_monitor) if system_monitor.temperature > 100 system_monitor.sound_alarms end end...

49
Есть ли когда-нибудь причина выполнять всю работу с объектом в конструкторе?

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

49
Как обрабатывать конфиденциальные данные при использовании Github и Heroku?

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

49
Когда «правильное» программирование больше не имеет значения?

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

49
Почему точки с запятой и запятые меняются местами в циклах?

На многих языках (широкий список, от C до JavaScript): запятые ,отдельные аргументы (например func(a, b, c)), в то время как точки с запятой ;разделяют последовательные инструкции (например instruction1; instruction2; instruction3). Так почему же это отображение в тех же языках для циклов for : for...

49
Как мне управлять техническими дебатами по поводу WCF против Web API?

Сейчас я управляю командой из примерно 15 разработчиков, и мы застряли на этапе выбора технологии, когда команда разбита на две совершенно противоположные команды, обсуждающие вопрос об использовании WCF и веб-API. Команда A, которая поддерживает использование Web API, выдвигает следующие причины:...

49
Почему в Go есть «новое»?

Я все еще озадачен тем, почему у нас newв Go. Когда вы хотите создать экземпляр структуры, вы делаете t := Thing{} и вы можете получить указатель на новый экземпляр, выполнив t := &Thing{} Но есть и такая возможность: t := new(Thing) Этот последний кажется немного чуждым для остальной части...

49
Какой смысл в шаблоне PImpl, хотя мы можем использовать интерфейс для той же цели в C ++?

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

49
Как продать Agile Development (водопад) клиентам

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

49
Обходной путь для проверенных исключений Java

Я высоко ценю новые функции Java 8, касающиеся лямбд и интерфейсов методов по умолчанию. Тем не менее, я все еще скучаю с проверенными исключениями. Например, если я просто хочу перечислить все видимые поля объекта, я хотел бы просто написать это: Arrays.asList(p.getClass().getFields()).forEach( f...

49
Почему все функции <алгоритма> принимают только диапазоны, а не контейнеры?

Есть много полезных функций <algorithm>, но все они работают с «последовательностями» - парами итераторов. Например, если у меня есть контейнер и мне нравится работать std::accumulateна нем, мне нужно написать: std::vector<int> myContainer = ...; int sum =...

49
Много маленьких запросов против нескольких больших запросов (API Design)

В настоящее время я работаю над проектом с организацией следующим образом: Клиент - получает данные с главного сервера через REST API. Сервер - запрашивает данные с других серверов через сторонние API Сторонние API - не зависящие от меня сервисы, предоставляющие данные на сервер (Reddit,...

49
Есть ли причина иметь нижний тип в языке программирования?

Тип дна - это конструкция, которая в основном появляется в математической теории типов. Он также называется пустым типом. Это тип, который не имеет значений, но является подтипом всех типов. Если тип возвращаемого значения функции является нижним, это означает, что он не возвращает. Период. Может...

49
Две структуры с одинаковыми членами, но разными именами, это хорошая идея?

Я пишу программу, которая включает в себя работу с полярными и декартовыми координатами. Имеет ли смысл создавать две разные структуры для каждого вида точек, одна с Xи Yчленами, а другая с Rи Thetaчленами. Или это слишком много, и лучше иметь только одну структуру с членами firstи в secondкачестве...