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

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

6
Дизайн для синхронизации данных в Android
Я видел две реализации для синхронизации данных между сервером и клиентом в большинстве приложений. Это предполагает, что GCM не настроен: Периодически запускать службу намерений, которая загружает данные из сети и сохраняет их в базе данных. Реализация адаптера синхронизации, который запускается периодически. Что из вышеперечисленного вы бы порекомендовали иметь в своем …

4
Зачем нужна Одата, когда у меня есть JSON?
Я пытаюсь понять смысл Одаты и когда это имело бы смысл. Прямо сейчас, как я работаю, я использую ASP.NET и контроллер MVC / WebApi для сериализации / десериализации объектов в JSON и заставляю javascript что-то с этим делать. Из того, что я могу сказать, преимущество OData заключается в возможности запрашивать …
23 javascript  rest  json 

4
Предпочитаю примеры документации. Это поведенческая проблема?
Всякий раз, когда я сталкивался с новым API или языком программирования или даже простыми справочными страницами Linux , я всегда (с тех пор, как я себя помню) избегал их и вместо этого лениво полагался на примеры для получения понимания новых концепций. Подсознательно я избегаю документирования / API, когда это не …

2
Уровни пользовательских разрешений в RESTful API
Допустим, у меня есть компания, которая оценивает самых симпатичных кошек в Интернете. Я предлагаю ресурс, на/cats/ котором пользователи получают самые последние, самые милые и очаровательные кошки. Пользователи могут получить только топ-3 кошек, если они не заплатили вообще или зарегистрировались. Лучшие 10 кошек, если они заплатили 337 долларов и вошли в …
23 rest  http  url  http-response 

2
SQL IN () против ИЛИ
Я работал с запросом, который я написал сегодня, должен был изменить код из WHEREпредложения, чтобы использовать фильтр IN (список вещей) вместо того, чтобы использовать что-то вроде item_desc = 'item 1' OR item_desc = 'item 2' OR item_desc = 'item 3' OR item_desc = 'item 4' Вышеизложенное работало в течение 15 …
23 sql  speed 

7
Демонстрация сборки мусора быстрее, чем ручное управление памятью
Я читал во многих местах (черт, я даже написал так себе) , что сбор мусора может (теоретически) быстрее , чем ручное управление памятью. Однако показать гораздо сложнее, чем рассказать. Я никогда не видел ни одного куска кода, который демонстрирует этот эффект в действии. Кто-нибудь есть (или знает, где я могу …

7
Избегайте слишком сложного метода - цикломатическая сложность
Не уверен, как поступить с этим методом, чтобы уменьшить цикломатическую сложность. Сонар сообщает 13, тогда как 10 ожидается. Я уверен, что нет ничего плохого в том, чтобы оставить этот метод, поскольку он просто бросает мне вызов, как поступить в соответствии с правилом Сонара. Любые мысли будут с благодарностью. public static …

7
Безопасное исправление данных производственной базы данных
Ошибки случаются, и иногда данные должны быть исправлены в производстве. Какой самый безопасный способ сделать это с точки зрения большой компании? Есть ли инструменты, которые могут помочь? Вот некоторые соображения, определяющие это требование ... Нам нужно войти, кто выполнил запрос и что они запустили В идеале нам нужно дать человеку …
23 database  risk 

4
Почему многие проекты игнорируют нормализацию в RDBMS?
Хотите улучшить этот пост? Предоставьте подробные ответы на этот вопрос, включая цитаты и объяснение того, почему ваш ответ правильный. Ответы без достаточной детализации могут быть отредактированы или удалены. Я видел много проектов, которые нормализация не была первым соображением в фазе принятия решения. Во многих случаях эти проекты включали более 30 …

6
Как решить проблему вложенных комментариев
По-видимому, не на одном языке комментарии не могут быть вложенными. У вас есть хорошее решение этой проблемы? Одним из обходных путей в C / C ++ и Java является использование только однострочного комментария, но тогда становится невозможным закомментировать больший блок. Я сталкиваюсь с чем-то вроде этого: </li><!-- <li><!-- Save --> …
23 java  c++  python  c  comments 

12
Объектно-ориентированный дизайн
Предположим, у вас есть следующее: +--------+ +------+ | Animal | | Food | +-+------+ +----+-+ ^ ^ | | | | +------+ +-------+ | Deer | | Grass | +------+ +-------+ Deerнаследует от Animalи Grassнаследует от Food. Все идет нормально. Animalобъекты могут есть Foodобъекты. Теперь давайте немного перемешаем. Давайте добавим, …

4
Как работать с соединениями с базой данных в модуле библиотеки Python
Я создал библиотеку в Python, которая содержит функции для доступа к базе данных. Это библиотека-обертка вокруг базы данных сторонних приложений, написанная из-за того, что стороннее приложение не предлагает достойного API. Теперь я изначально позволял каждой функции открывать соединение с базой данных на время вызова функции, что было в порядке, пока …
23 python 

6
В функциональном программировании все еще считаются «плохой практикой» локальные изменяемые переменные без побочных эффектов?
Имеет ли изменяемые локальные переменные в функции, которые используются только для внутренних целей (например, функция не имеет побочных эффектов, по крайней мере, намеренно), все еще считается «не функциональным»? например, в проверке стиля курса «Функциональное программирование с помощью Scala» любое varиспользование считается плохим Мой вопрос, если функция не имеет побочных эффектов, …

3
Почему Option / Может считаться хорошей идеей, а проверенные исключения - нет?
Некоторые языки программирования, такие как, например, Scala, имеют концепцию Optionтипов (также называемых Maybe), которые могут либо содержать значение, либо нет. Из того, что я читал о них, они считаются широко лучшим способом решения этой проблемы null, потому что они явно вынуждают программиста рассматривать случаи, когда не может быть значения, а …
23 exceptions 

5
Сквозные тесты в сравнении с юнит-тестами, следует ли разделять тесты?
Как правило, в нашей компании мы пишем комплексный тест для наших веб-сайтов / веб-приложений. Это означает, что мы получаем доступ к URL-адресу, заполняем форму, отправляем форму на другой URL-адрес и проверяем результаты на странице. Мы делаем это для проверки правильности формы, проверки правильности контекстных шаблонов HTML и т. Д. Мы …

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