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

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

5
Почему обратная отладка редко используется? [закрыто]
GDB реализовал поддержку обратной отладки в 2009 году (с GDB 7.0). Я никогда не слышал об этом до 2012 года. Теперь я нахожу это чрезвычайно полезным для определенных типов проблем отладки. Я хотел бы услышать об этом раньше. Поправьте меня, если я ошибаюсь, но у меня сложилось впечатление, что техника …
57 debugging 

7
Принцип единой ответственности - как я могу избежать фрагментации кода?
Я работаю в команде, лидер которой является ярым сторонником принципов разработки SOLID. Однако ему не хватает большого опыта в получении сложного программного обеспечения на открытом воздухе. У нас возникла ситуация, когда он применил SRP к тому, что уже представляло собой довольно сложную кодовую базу, которая теперь стала очень сильно фрагментированной, …

7
Что означает артефакт?
Словарь определяет артефакт как: артефакт, артефакт [ˈɑːtɪˌfækt] n что-то созданное человеком или придавшее ему форму, такое как инструмент или произведение искусства, особенно объект археологического интереса что-нибудь искусственное, например, ложный экспериментальный результат (Life Sciences & Allied Applications / Biology) Цитология - структура, наблюдаемая в ткани после смерти, фиксации, окрашивания и т. …

3
Можете ли вы изменить код, распространяемый по лицензии MIT, и повторно распространять его по лицензии GPL? [закрыто]
Можно ли изменить код плагина Chili , последний выпуск которого был выпущен в июле 2008 года и лицензирован по лицензии MIT, чтобы затем лицензировать его по лицензии GPL? Насколько я понимаю, нет никаких ограничений в отношении того, что новый код лицензируется по той же лицензии. Это действительно так, или есть …

5
Должен ли я возвращать статус HTTP 400 (неверный запрос), если параметр синтаксически правильный, но нарушает бизнес-правило?
Скажем, у меня есть конечная точка REST, которая принимает целое число в качестве параметра: /makeWaffles?numberOfWaffles=3 В этом случае я хочу, чтобы число было положительным, потому что я не могу сделать отрицательное число вафель (а запрос 0 вафель - пустая трата времени). Поэтому я хочу отклонить любой запрос, который не содержит …
56 api-design  http 


4
Есть ли хорошая причина для запуска 32-разрядного программного обеспечения вместо 64-разрядного на 64-разрядных компьютерах?
Есть ли веская причина для поставки 32-разрядной версии вместе с 64-разрядной версией любого программного обеспечения, предназначенного для современных настольных компьютеров, работающих под управлением современных 64-разрядных операционных систем на 64-разрядном оборудовании? Похоже, что 64-разрядное программное обеспечение будет более эффективным, позволит более интенсивно использовать память при необходимости и т. Д. Apple даже …

6
Иллюзорное дублирование кода
Обычный инстинкт - удалить любое дублирование кода, которое вы видите в коде. Однако я оказался в ситуации, когда дублирование иллюзорно . Чтобы описать ситуацию более подробно: я разрабатываю веб-приложение, и большинство представлений в основном одинаковы - они отображают список элементов, которые пользователь может прокручивать и выбирать, второй список, содержащий выбранные …

5
Как вы можете оценить время для задач, которые в основном состоят из выяснения проблемы?
Хотя опытный разработчик относительно может оценить, сколько времени потребуется для реализации кода, когда шаблон и проблема, которую решает код, хорошо поняты, как вы можете сделать хорошую оценку, когда, хотя конечная цель хорошо понятна, реализация на 95% теоретическая / для решения проблем и имеет очень небольшие объемы реализации? Моя работа часто …

6
Когда использовать слабые ссылки в .Net?
Я лично не сталкивался с ситуацией, когда мне нужно было использовать тип WeakReference в .Net, но распространенное мнение, похоже, заключается в том, что его следует использовать в кэш-памяти. Доктор Джон Харроп привел очень хороший аргумент против использования WeakReferences в кешах в своем ответе на этот вопрос. Я также часто слышал, …

5
Является ли jQuery примером «божественного объекта» антипаттерна?
Я хочу спросить - я медленно изучаю jQuery. То , что я вижу , это точный пример из Бога объекта анти-паттерна . По сути, все идет к $функции, что бы это ни было. Прав ли я, и действительно ли jQuery является примером этого анти-паттерна?

14
Держите язык программирования обратно совместимым, а не исправляйте его недостатки
Во-первых, некоторый контекст (вещи, которые большинство из вас все равно знают): Каждый популярный язык программирования имеет четкую эволюцию, большую часть времени отмеченную его версией: у вас есть Java 5, 6, 7 и т. Д., PHP 5.1, 5.2, 5.3 и т. Д. Выпуск новой версии делает доступными новые API, исправляет ошибки, …

7
Почему так много строковых классов перед лицом std :: string?
Мне кажется, что многие большие библиотеки C ++ создают свои собственные строковые типы. В коде клиента вы должны либо использовать один из библиотеки ( QString, CString, и fbstringт.д., я уверен , что кто - нибудь может назвать несколько) или сохранить преобразование между стандартным типом и одна библиотека использует (который большую …
56 c++ 

8
Как мне доказать или опровергнуть, что «объекты Бога» не правы?
Краткое описание проблемы: Короче говоря, я унаследовал кодовую базу и команду разработчиков, которую мне не разрешено заменять, и использование God Objects является большой проблемой. В дальнейшем я хочу, чтобы мы перефакторили вещи, но я получаю отпор от команд, которые хотят делать все с Богом-объектами «потому что это проще», и это …

9
Компиляторы Intel действительно лучше, чем Microsoft? [закрыто]
Несколько лет назад я был удивлен, когда обнаружил, что Intel продает компиляторы, совместимые с Visual Studio. Я попробовал это, в частности, для C / C ++, а также для фантастических инструментов диагностики. Но код не был настолько сложным в вычислительном отношении, чтобы заметить разницу. Единственное впечатление было: действительно ли Intel …
56 compiler 

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