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

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

1
Шаблон проектирования для преобразования объекта (Java)
Я не очень часто использую шаблоны проектирования, кроме случайной фабрики и MVC, и хочу больше их использовать. У меня под рукой конкретный случай, и я хотел бы узнать ваше мнение об использовании шаблонов проектирования в этом случае. В моем приложении мне приходится конвертировать объекты довольно часто в разных ситуациях. Возможно, …

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

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

5
Функциональное программирование: правильные представления о параллелизме и состоянии?
Сторонники FP утверждают, что параллелизм прост, потому что их парадигма избегает изменчивого состояния. Я не понимаю Представьте, что мы создаем многопользовательское сканирование подземелий (roguelike), используя FP, где мы подчеркиваем чистые функции и неизменные структуры данных. Мы создаем подземелья, состоящие из комнат, коридоров, героев, монстров и добычи. Наш мир фактически является …

8
Восстановление доверия старшего программиста [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …

5
Как убедить моего босса (и других разработчиков) использовать / учитывать ненавязчивый JavaScript
Я довольно новичок в нашей команде develepors. Мне нужны веские аргументы и / или примеры «подводных камней», чтобы мой начальник наконец-то понял преимущества ненавязчивого JavaScript, чтобы он и остальная команда перестали делать такие вещи: <input type="button" class="bow-chicka-wow-wow" onclick="send_some_ajax(); return false;" value="click me..." /> а также <script type="text/javascript"> function send_some_ajax() { …

2
Лучший способ реализовать аутентификацию для REST API
Мы разрабатываем социальные приложения для мобильных устройств. Каждое приложение использует веб-сервисы API RESTful. Когда я использую логин, я обычно храню имя пользователя и пароль где-то на устройстве. Затем я отправляю их и в ответ получаю доступ к своему профилю. Но я также знаю, что есть другой способ сделать это. Кто-то …
21 mobile  rest  login 

9
В гибкой разработке, я должен попробовать постоянство в плоском файле перед базой данных?
Кто-то объяснил мне, что, поскольку в гибкой разработке политика и логика приложения должны быть важнее таких деталей, как метод постоянства, решение о постоянстве должно быть принято в конце. Поэтому было бы неплохо начать с более простого постоянства, такого как плоские файлы, до тех пор, пока мы не достигнем точки, слабость …

1
Каков надлежащий этикет и рекомендуемый рабочий процесс GitHub для одновременного вклада и отклонения от вышестоящего репо?
Я новичок в GitHub и VCS в целом. Я программировал на разных языках в течение многих лет, но я всегда работал соло над индивидуальными проектами (никаких публичных выпусков). Недавно я начал использовать виджет jQuery UI, который я скачал с GitHub в проекте, над которым я работаю. Репо больше не поддерживается …

5
Каждое число в коде считается «магическим числом»?
То есть каждое число в коде, которое мы отправляем методу в качестве аргумента, считается магическим числом? Для меня это не должно. Я думаю, что если какое-то число, скажем, для минимальной длины имени пользователя, и мы начинаем использовать «6» в коде ... тогда да, у нас есть проблема с обслуживанием, и …

5
Есть ли модифицированная лицензия LGPL, которая позволяет статическое связывание?
LGPL требует, чтобы в случае, если программа использует библиотеку LGPL, пользователи должны иметь возможность повторно связать программу с другой версией библиотеки: ... г) Выполните одно из следующих действий: 0) Передать Минимальный Соответствующий Источник в соответствии с условиями настоящей Лицензии и Код Соответствующего Приложения в форме, подходящей и на условиях, которые …

3
Как люди определяют минимальные требования к оборудованию для программного обеспечения?
Как люди определяют минимальные требования к оборудованию для программного обеспечения? Например: как компания-разработчик программного обеспечения может сказать клиенту, что для правильной работы программы им потребуется 8 ГБ ОЗУ?

3
Как мне реализовать шаблон репозитория для сложных объектных моделей?
Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 7 лет назад . Наша модель данных насчитывает почти 200 классов, которые можно разделить примерно на дюжину функциональных областей. Было бы неплохо использовать домены, но разделение не такое чистое, и мы …

6
Использование вложенных открытых классов для организации констант
Я работаю над приложением со многими константами. При последнем обзоре кода выяснилось, что константы слишком разбросаны и должны быть все организованы в один «главный» файл констант. Разногласия о том, как их организовать. Большинство считает, что использование константного имени должно быть достаточно хорошим, но это приведет к коду, который выглядит следующим …

10
Имеет ли значение UX для корпоративного программного обеспечения?
Я заметил, что многие программы, которые компании используют для управления такими вещами, как время, расходы, настройка телефонных систем и т. Д., С точки зрения пользовательского опыта очень не интуитивны. Я лично знаю, что трачу много времени, просто пытаясь понять, как ориентироваться в этих системах, особенно если у меня нет коллег, …

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