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

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

5
Что делать с большой историей SVN при переходе на GIT?
Изменить: в отличие от некоторых похожих вопросов, таких как перемещение репозитория SVN с несколькими ГБ в Git или /programming/540535/managing-large-binary-files-with-git Мой сценарий не включает несколько подпроектов, которые может быть легко конвертирован в субмодули git или в несколько очень больших двоичных файлов, которые хорошо подходят для git-annex. Это единственный репозиторий, в котором …
23 git  svn 

2
Соглашение об именах: конечные поля (не статические)
Сегодня у меня была дискуссия с коллегой по поводу именования finalполей в классах Java. В его мнениях finalполя также должны учитываться как константы, так как их значения не изменятся после создания экземпляра. Это приведет к следующему соглашению об именах для finalполей: public class Foo { private static final String BLA_BLA …
23 java  naming  final 

2
Каков наилучший шаблон для добавления существующего элемента в коллекцию в REST API?
Я разрабатываю прагматичный REST API и немного застрял в том, как лучше всего добавить существующие сущности в коллекцию. Моя модель домена включает в себя проект, который имеет коллекцию сайтов. Это строгое отношение «многие ко многим», и мне не нужно создавать сущность, которая явно моделирует отношение (например, ProjectSite). Мой API позволит …
23 rest  api-design 

5
Как другой популярный язык мог бы избежать использования фабричного шаблона при управлении такой же сложностью, как в Java / Java EE?
Фабричный шаблон (или, по крайней мере, использование FactoryFactory..) является предметом многих шуток, как здесь . Помимо наличия подробных и «креативных» имен, таких как RequestProcessorFactoryFactory.RequestProcessorFactory , есть ли что-то принципиально неправильное в фабричном шаблоне, если вам нужно программировать на Java / C ++ и есть сценарий использования для Abstract_factory_pattern ? Как …

7
Использование целых чисел без знака в C и C ++
У меня очень простой вопрос, который меня долго расстраивает. Я имею дело с сетями и базами данных, поэтому большое количество данных, с которыми я имею дело, это 32-битные и 64-битные счетчики (без знака), 32-битные и 64-битные идентификаторы (также не имеют значимого отображения для знака). Я практически никогда не имею дело …
23 c  coding-style 

3
Почему инструкция копирования обычно называется MOV?
Во многих ассемблерах инструкция копирования значения обычно называется «MOV», и ее описание в руководствах также обычно содержит «перемещение» (однако можно использовать и другие слова, например «загрузить», «сохранить», «извлечь» и т. Д.). ) Редко можно найти ISA ), который не следует этому соглашению. С другой стороны, в других контекстах «перемещение» отличается …
23 history  assembly 

5
Когда я должен увеличить номер версии?
Я не изучал программирование в школе, и я не работаю (профессиональным) разработчиком, поэтому многие основы мне не совсем понятны. Этот вопрос пытается уточнить один из них. Теперь давайте предположим, что у меня есть проблемы #1, #2и #3в моем трекере проблем, которые настроены для исправления / улучшения для версии 1.0.0и что …

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

5
Переформатирование и контроль версий
Форматирование кода имеет значение. Даже отступы имеют значение . И последовательность важнее, чем незначительные улучшения. Но проекты , как правило , не имеют четкой, полной, поддающейся проверке и вынужденное руководство по стилю от 1 -й день, и значительные улучшения могут прийти в любой день. Может быть, вы найдете это SELECT …

9
Может ли Agile быть реализован без участия клиента?
Я не мог написать книгу об Agile. Я работал в нескольких магазинах, которые называют их процесс Agile. Одним из основных моментов гибкой разработки является постоянное участие клиентов. После спринта работа может быть продемонстрирована клиенту для получения обратной связи. Промыть и повторить. Проблема, с которой я сталкиваюсь, заключается в том, что …
23 agile  waterfall 

2
Domain-Driven-Design - внешние зависимости в проблеме сущностей
Я хотел бы начать Domain-Driven-Design, но есть несколько проблем, которые я хотел бы решить перед началом :) Давайте представим, что у меня есть Группы и Пользователи, и когда пользователь хочет присоединиться к группе, я вызываю groupsService.AddUserToGroup(group, user)метод. В DDD я должен сделать group.JoinUser(user), что выглядит довольно хорошо. Проблема возникает, если …


3
C # 8 ненулевые ссылки и образец Try
Существует закономерность в классах C # на примере Dictionary.TryGetValueи int.TryParse: метод , который возвращает логическое значение , указывающее успех операции и параметра из содержащего фактический результат; если операция не удалась, для параметра out устанавливается значение null. Давайте предположим, что я использую ненулевые ссылки C # 8 и хочу написать метод …
23 c#  .net  null 

4
Какую структуру JSON использовать для пар ключ-значение?
Какой формат JSON является лучшим выбором для пар ключ-значение и почему? [{"key1": "value1"}, {"key2": "value2"}] Или: [{"Name": "key1", "Value": "value1"}, {"Name": "key2", "Value": "value2"}] Или: {"key1": "value1", "key2": "value2"} Первый вариант кажется более компактным и более «семантически значимым». Второй вариант выглядит более равномерно структурированным, что может помочь в его обработке. …
23 json 

1
Разделение большого проекта для создания многомодульного проекта Maven
Я работаю над приложением Spring-MVC, в котором мы используем Maven для управления зависимостями. Поскольку проект большой, мы думаем о разделении проекта на несколько частей. У меня были некоторые сомнения, на которые я надеюсь получить ответы здесь. В настоящее время мы развертываем один файл WAR, как ROOT.warна Apache tomcat, на нашем …

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